很奇怪的,网站自己就挂了,不知道被人做了什么影响到了。
页面提示数据库连接错误。
可是在服务器里用数据库账号去连接,连接却是正常的。
进入mysql类,用mysql_error和mysql_errno把错误打印出来,提示:no such file or directory。错误代号2002。
检查了下mysql.sock文件,是在/tmp/目录下,用户权限也是mysql,/etc/my.cnf配置里,socket路径也是/tmp/mysql.sock。信息都是一致的,自我感觉与此无关。
后来结合网上资料判断了下,问题大概在于php这边,大概无法确定sock的文件位置,从而导致数据库连接失败。
用下面命令查看了下:
php -i |grep socket
结果显示:
mysql.default_socket => no value
进入/etc/php.ini,把mysql.default_socket的值改成/tmp/mysql.sock,然后重启php-fpm,问题就ok了。