如何解决phpEnv中无法找到mysql.sock的数据库连接问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1103个文字,预计阅读时间需要5分钟。
为了简化并改写伪原创的内容,以下是对给定开头内容的
文本内容
常见现象:mysqli_connect(): (HY000/2002): Can't connect to local MySQL server through socket '/tmp/mysql.sock',而实际 mysql.sock 可能在 /var/run/mysqld/mysqld.sock 或 /usr/local/mysql/tmp/mysql.sock。
- 先确认 mysqld 真实 socket 路径:
mysql -u root -p -e "show variables like 'socket';" - 再查 PHP 当前用的路径:
php -i | grep -i "mysql.default_socket\|mysqli.default_socket\|pdo_mysql.default_socket" - 如果两者不一致,必须让 PHP 配置指向服务端生成的那个路径,不能靠猜或默认值
修改 php.ini 中三个 socket 配置项
PHP 有三套 MySQL 扩展,各自读不同的 ini 配置项,漏改任何一个都可能失效。不是只改 mysqli.default_socket 就够了。
本文共计1103个文字,预计阅读时间需要5分钟。
为了简化并改写伪原创的内容,以下是对给定开头内容的
文本内容
常见现象:mysqli_connect(): (HY000/2002): Can't connect to local MySQL server through socket '/tmp/mysql.sock',而实际 mysql.sock 可能在 /var/run/mysqld/mysqld.sock 或 /usr/local/mysql/tmp/mysql.sock。
- 先确认 mysqld 真实 socket 路径:
mysql -u root -p -e "show variables like 'socket';" - 再查 PHP 当前用的路径:
php -i | grep -i "mysql.default_socket\|mysqli.default_socket\|pdo_mysql.default_socket" - 如果两者不一致,必须让 PHP 配置指向服务端生成的那个路径,不能靠猜或默认值
修改 php.ini 中三个 socket 配置项
PHP 有三套 MySQL 扩展,各自读不同的 ini 配置项,漏改任何一个都可能失效。不是只改 mysqli.default_socket 就够了。

