升级到 El Capitan 后,我在连接 MySql 时遇到问题。我有一个名为 index.php
的基本 PHP 文件,其中包含以下代码:
<?php
$conn = new mysqli("127.0.0.1", "xxxx", "xxxx");
if ($conn->connect_error) die("Connection failed: " . $conn->connect_error);
echo "Connected successfully";
?>
现在,当我在浏览器中访问该页面时,我收到以下消息:
Warning: mysqli::mysqli(): (HY000/2002): Connection refused in /Users/rich/Documents/DESIGN/test/index.php on line 3
Connection failed: Connection refused
我不明白这里出了什么问题。我应该提到的是,在升级之前我在 Yosemite 上也遇到了这个问题。当我删除计算机进行全新安装并且必须再次设置 Apache 和 PHP 配置时,问题就开始了。我认为其中一个文件中肯定遗漏了某些内容。
编辑
我还尝试在连接中使用 localhost
而不是 127.0.0.1
。这会将错误稍微更改为:
Warning: mysqli::mysqli(): (HY000/2002): No such file or directory in /Users/rich/Documents/DESIGN/test/index.php on line 4
Connection failed: No such file or directory
最佳答案
尝试使用 localhost 而不是 127.0.0.1,并确保您使用的用户名/密码正确并且存在于 mysql 服务器上。还要检查 mysqld 是否正在运行,以及您的防火墙是否允许 mysql 数据库通过。
编辑您的 php.ini 文件并确保在 Windows 上启用扩展 extension=php_mysqli.dll 或在 Linux 上启用 extension=php_mysqli.so。
在这里尝试答案:PHP - MYSQL - test database server
您必须检查两个设置才能使其正常工作(当然假设您安装了 MySQL 服务器):
检查 PHP 配置中 mysql.default_socket 的值。
检查 MySQL 配置文件中 [mysqld] 标题下的套接字值。
这些值必须相同;如果不是,请更改其中一个以匹配另一个,然后重新启动相应的服务。
关于php - 本地主机上的 MySQL 连接被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50362665/