写了个php脚本单独执行mysql_connect(),发现错误信息居然是“No such file or directory"!
首先确定是mysql_connect()和mysql_pconnect()的问题,故障现象就是函数返回空,而mysql_error()返回"No such file or directory"。
写个phpinfo页面,找到mysql.default_socket、mysqli.default_socket、pdo_mysql.default_socket。
启动mysql,执行命令 STATUS; 记下socket(/tmp/mysql.sock)的值。
则打开php.ini(可以从phpinfo页面中找到php.ini的位置),将2中提到的三个配置项的值改成3的值。
重启apache。
到/tmp/查看,发现没有真没有/tmp/mysql.sock这个文件。
由于mysql 默认的mysql.sock 是在/var/lib/mysql/mysql.sock,创建符号连接:
# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock