Mysql
確認未安裝 mysqli 擴展
最近我發現我的伺服器Centos 2.6 版中沒有安裝 mysqli 擴展。我確認它是因為我將 db 連接的驅動程序從
mysqli
to更改為mysql
現在工作正常。那麼,是否有另一種方法/日誌來確定這個問題?因為 apache error_log 沒有說明任何內容。這確實不是問題,但將來可能會更複雜。為什麼?因為使用 mysqli 驅動程序,該網站死了一個沒有錯誤/警告的空白頁面,以幫助我對其進行故障排除。我不喜歡發現魔法藝術或每行測試線的問題的想法。應該是一些幫助我調試它的日誌文件。
為了提供資訊來幫助解決這個問題,我做了:
cat /proc/version Linux version 2.6.18-308.el5.028stab099.3 (root@rhel5-build-x64) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46))
mysqli
您可以通過列出已安裝的模組來確認是否已安裝。SSH 進入您的 Cent OS 機器,然後發出以下命令。php -m | grep mysqli
如果沒有返回任何內容,那麼您還沒有
mysqli.so
載入。檢查您的系統上是否安裝了共享對象。# Located extension dir php -i | grep extension_dir # List mysql.so in the path returned from the previous command ls -la /usr/lib/php/extensions/no-debug-non-zts-20090626/mysqli.so
如果 mysqli.so 存在並且具有權限
-rwxr-x-rx
,則需要在系統全域php.ini
文件中載入/啟用 mysqli 擴展。# Adjust path to correct php.ini file. # Run `php -i | grep "Configuration File"` to locate, if needed # It might be easier to use vi, or nano, for this sudo echo "extension=mysqli.so" >> /etc/php5/php.ini # Restart apache sudo service httpd restart
別的。如果您的系統中沒有
mysqli.so
存在。您可以按照系統包管理器安裝 rpm,並重複前面的 php.ini 步驟。sudo yum install php5-mysqli