PHP 连接失败:“连接被拒绝”
尝试使用 MAMP 与 phpMyAdmin 上托管的 MySQL 数据库建立 PHP 连接时,用户可能会遇到错误“连接失败:SQLSTATE[HY000] [2002] 连接被拒绝。”此错误通常是由于连接字符串中的主机名或端口配置不正确而发生。
最初,遇到错误“SQLSTATE[HY000] [2002]没有这样的文件或目录”,因为主机名设置为“ localhost”,对应于 MAMP 安装的端口 8888。要纠正此问题,应将主机名更改为服务器的 IP 地址(例如“127.0.0.1”)。
但是,尽管修改了主机名,“连接被拒绝”错误仍然存在。根本原因被确定为端口配置不正确。默认情况下,MAMP 上的 MySQL 侦听端口 8889,而不是标准端口 3306。将连接字符串中的端口调整为 8889 解决了问题:
$conn = new PDO("mysql:host=$servername;port=8889;dbname=AppDatabase", $username, $password);
值得注意的是,使用“localhost”作为主机名仍然导致“没有这样的文件或目录”错误。因此,建议使用服务器的IP地址作为主机名,以确保连接成功。
以上是为什么我的 PHP 连接到 MySQL 失败并在 MAMP 中显示'连接被拒绝”?的详细内容。更多信息请关注PHP中文网其他相关文章!