今天在MacBookPro上安裝wordpress時,安裝程序一直報錯說連不上數據庫。mysql客戶端可以正常使用,可以確定不是服務器的問題。寫了個php腳本單獨執行mysql_connect(),發現錯誤信息居然是“No such file or directory"!這裡應該沒涉及到文件啊?
在網上搜了一下,找到了這篇文章:mysql_connect and No such file or directory。原來,我的apache/php是mac系統自帶的,而mysql是通過MacPorts安裝的,它的本地socket設置與默認的不一樣,導致php無法找到mysql的socket文件。解決方法上面那篇文章也給了,這裡簡單翻譯一下:
首先確定是mysql_connect()和mysql_pconnect()的問題,故障現象就是函數返回空,而mysql_error()返回"No such file or directory"。
寫個phpinfo頁面,找到mysql.default_socket、mysqli.default_socket、pdo_mysql.default_socket。
啟動mysql,執行命令 STATUS; 記下UNIX socket的值。
如果2和3的值不一樣,則打開php.ini(可以從phpinfo頁面中找到php.ini的位置,默認是/private/etc/php.ini),將2中提到的三個配置項的值改成3的值。
重啟apache。