首页 >后端开发 >php教程 >为什么我的 PHP mysqli 连接失败并显示'无法通过套接字 'MySQL' 连接到本地 MySQL 服务器 (2)”?

为什么我的 PHP mysqli 连接失败并显示'无法通过套接字 'MySQL' 连接到本地 MySQL 服务器 (2)”?

Linda Hamilton
Linda Hamilton原创
2024-12-02 13:17:16779浏览

Why is my PHP mysqli connection failing with

mysqli::mysqli() 错误:通过套接字“MySQL”连接失败

尝试使用以下命令建立与 MySQL 数据库的连接时PHP的mysqli类,错误“mysqli::mysqli(): (HY000/2002): Can't connect to local MySQL server through socket 'MySQL' (2)" 表示通过 Unix 域套接字建立连接时遇到困难。

套接字错误的原因

默认情况下,当提供“localhost”作为主机时,MySQL 尝试使用 Unix 域套接字文件“MySQL”而不是 TCP/IP 进行连接。但是,如果此套接字丢失或无法访问,则无法建立连接。

解决方案

要解决此问题,请考虑以下解决方案:

  • 使用 TCP/IP: 显式提供 IP 地址使用“127.0.0.1”作为主机而不是“localhost”来强制建立 TCP/IP 连接。
  • 配置 PHP 的 MySQL 套接字路径: 打开 MySQL 配置文件 (my.cnf) 并找到 MySQL 创建套接字的路径。然后,在 PHP 脚本中,使用 mysqli.default_socket 配置为 PHP 设置此路径。
  • 在脚本中指定套接字: 使用以下命令直接在 PHP 脚本中配置套接字以下语法:

    $db = new MySQLi('localhost', 'kamil', '***', '', 0, '/var/run/mysqld/mysqld.sock')

    主机配置网站

如果您打算从您的网站访问数据库,您可能需要配置不同的主机。主机配置取决于您的 Web 托管环境的设置和 MySQL 服务器的位置。建议咨询您的托管提供商以获取有关配置远程主机的具体说明。

以上是为什么我的 PHP mysqli 连接失败并显示'无法通过套接字 'MySQL' 连接到本地 MySQL 服务器 (2)”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn