Mysql

確認未安裝 mysqli 擴展

  • June 11, 2021

最近我發現我的伺服器Centos 2.6 版中沒有安裝 mysqli 擴展。我確認它是因為我將 db 連接的驅動程序從mysqlito更改為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

引用自:https://serverfault.com/questions/444920