php - 本地主机上的 MySQL 连接被拒绝

标签 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

我不明白这里出了什么问题。我应该提到的是,在升级之前我在 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/

相关文章:

php - 如何在 PHP 中使选项组动态化?

javascript - 为特定的悬停图像应用 css

MySQL安装问题 mysql-5.7.18-linux-glibc2.5-x86_64.tar

php - 使用 mysql 结果从多维 PHP 数组构建树

swift - 用于复制、粘贴和剪切的 macOS SwiftUI TextEditor 键盘快捷键

file - 如何在 osx 上实现 linux 的 inotify-tools shell 方法

php - MySQL在php中添加带空格的列

php - 为什么来自 POSTMAN 的 POST 请求返回空?

php - 在 PHP 中使用 mysqldump 而不使用整个路径

python - 在 Mac OS X 上安装 PIL 以与 Django 一起使用