在網上搜了一下,找到了這篇文章:mysql_connect and No such file or directory。原來,個人apache/php是mac系統自帶的,而mysql是經過MacPorts安裝的,它的本地socket設置與默認的不同,致使php沒法找到mysql的socket文件。解決方法上面那篇文章也給了,這裏簡單翻譯一下: php
- 首先肯定是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。