尝试使用 PHP 中的 mysqli 类建立与 MySQL 数据库的连接时,可能会出现错误:
mysqli::mysqli(): (HY000/2002): Can't connect to local MySQL server through socket 'MySQL' (2)
此错误表示通过指定套接字的连接存在问题, 'MySQL'。
当使用“localhost”作为主机连接到本地主机时,MySQL 尝试利用 Unix 域套接字来实现更快且可能更安全的连接。但是,如果套接字未配置或不可访问,连接将失败并出现错误 2。
要解决此问题,可以采取多种方法:
1.使用 TCP/IP 而不是 Unix Socket:
将连接字符串中的“localhost”替换为 IP 地址 127.0.0.1。这将强制建立 TCP/IP 连接。
2.设置 mysqli.default_socket:
找到 MySQL 的 my.cnf 配置文件并确定套接字的路径。然后,打开 php.ini 文件并将 'mysqli.default_socket' 值设置为此路径。
3.在 PHP 脚本中配置套接字:
建立连接时直接在 PHP 脚本中包含套接字路径,如下所示:
$db = new MySQLi('localhost', 'kamil', '***', '', 0, '/var/run/mysqld/mysqld.sock');
通过实现以下解决方案之一,您可以绕过 Unix 套接字连接并与您的 MySQL 数据库建立成功的连接。
以上是为什么我无法通过 PHP 的 mysqli 类连接到本地 MySQL 服务器?的详细内容。更多信息请关注PHP中文网其他相关文章!