在localhost上拒绝Mysql连接

时间:2015-10-27 14:42:08

标签: php mysql macos

升级到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

我无法理解这里出了什么问题。我应该提一下,在升级前我也在优胜美地遇到了这个问题。当我擦拭我的计算机进行全新安装并且不得不再次设置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

1 个答案:

答案 0 :(得分:2)

尝试使用localhost而不是127.0.0.1,并确保您使用的用户名/密码正确并存在于mysql服务器上。还要检查mysqld是否正在运行,并且防火墙允许通过mysql数据库。

编辑你的php.ini文件并确保在Windows上启用扩展名扩展名= php_mysqli.dll或在Linux上启用扩展名= php_mysqli.so。

在此处尝试答案:PHP - MYSQL - test database server

您必须检查两个设置才能正常工作(假设您当然安装了MySQL服务器):

检查PHP配置中mysql.default_socket的值。

检查[mysqld]标题下MySQL配置文件中socket的值。

这些价​​值必须相同;如果不是,请更改一个以匹配另一个并重新启动相应的服务。