再次遇到關于Apache和PHP與MySQL相連接的配置問題差购,上次是自己配置遇到的,這次是同事的集成環(huán)境遇到的
問題描述:切換PHP7.0.10版本法挨,打開項目纳账,發(fā)現(xiàn)pdo連接直接崩潰了;怎么重啟都無效刹泄,然后就找到了我外里;
問題解決過程:直接進入PHP的PHPmyadmin檢測是否數(shù)據(jù)庫的問題,排除特石,出現(xiàn)下面的錯誤代碼(mb_detect_encoding)盅蝗,直接定位到mbstring模塊未開啟;再看phpinfo();發(fā)現(xiàn)pdo為未開啟狀態(tài)姆蘸,mbstring模塊也為未開啟狀態(tài)墩莫;那么問題就定位了;php.ini配置文件出現(xiàn)問題了逞敷;一查ini文件狂秦,發(fā)現(xiàn)上述模塊都是開啟狀態(tài)的;再看Apache的conf文件,一搜索推捐,果然如我所料裂问,php.ini文件為加載進Apache;那么問題就簡單了牛柒;在conf文件最后一行加上
PHPIniDir "E:\phpSofterwere\php\php-7.1.8"
引入配置文件就OK了!
再啰嗦一句:如果引入了PHP配置文件但是phpinfo那里并沒有顯示php.ini中開啟的擴展配置
那么你就要定位到php.ini中去找問題堪簿,一般是加載擴展文件那里的路徑可能寫錯了如下:
extension_dir = "E:\softerwere\php\php-7.1.8\ext"
Fatal error: Uncaught Error: Call to undefined function mb_detect_encoding() in E:\wamp\apps\phpmyadmin4.6.4\libraries\php-gettext\gettext.inc:177 Stack trace: #0 E:\wamp\apps\phpmyadmin4.6.4\libraries\php-gettext\gettext.inc(282): _encode('The %s extensio...') #1 E:\wamp\apps\phpmyadmin4.6.4\libraries\php-gettext\gettext.inc(289): _gettext('The %s extensio...') #2 E:\wamp\apps\phpmyadmin4.6.4\libraries\core.lib.php(306): __('The %s extensio...') #3 E:\wamp\apps\phpmyadmin4.6.4\libraries\core.lib.php(961): PMA_warnMissingExtension('mbstring', true) #4 E:\wamp\apps\phpmyadmin4.6.4\libraries\common.inc.php(102): PMA_checkExtensions() #5 E:\wamp\apps\phpmyadmin4.6.4\index.php(13): require_once('E:[圖片上傳中。皮壁。椭更。(1)]\wamp\apps\ph...') #6 {main} thrown in E:\wamp\apps\phpmyadmin4.6.4\libraries\php-gettext\gettext.inc on line 177