出现这个报错,一般都是php.ini中关于>mysql.sock的指向与my.cnf中mysq.sock的指向不一致导致的。
方案一
打开/etc/my.cnf配置文件(这里的我的机器,具体根据环境实际情况查找),找到如下配置项目:
注意到其中的socket没,这里就是mysql.sock的正确指向位置。
接下来,再打开php.ini文件(一般是在php安装目录下的etc目录中),找到与mysql default_socket相关的配置项目,比如mysqli.default_socket 或 pdo_mysql.default_socket,前者是mysqli的,后者是pdo的。根据自己实际情况需要而定。
如下图,这里我修改的pdo项:
保存退出,重启PHP即可。
方案二
这种就简单了,直接将网站数据库配置文件中的服务器地址配置项改成127.0.0.1即可,tp5.0的位置在 /application/database.php。
注:原因是127.0.0.1对于mysql来说,是TCP/IP连接,不会使用Unix domain socket,不会走mysql.socket。