mysqli_connect(): (HY000/2002): 无法通过套接字连接到本地 MySQL 服务器

Hen*_*Lee 5 php mysql sockets apache

我需要帮助...我尝试使用 php 显示数据库时遇到此错误:

mysqli_connect(): (HY000/2002): 无法通过 /Applications/MAMP/htdocs/databases.php 中的套接字 '/Applications/MAMP/tmp/mysql/mysql.sock' (2) 连接到本地 MySQL 服务器7 数据库连接失败:无法通过套接字“/Applications/MAMP/tmp/mysql/mysql.sock”连接到本地 MySQL 服务器 (2) (2002)

我已经尝试修复它好几天了,阅读了这个论坛上有相同问题的人的文章,并应用了修复程序(就像这个),但完全没有运气。

这是我尝试过的一些步骤: 进入 php.ini 文件并将套接字更改为 /tmp/mysql.sock (我也尝试将其更改为 /Applications/MAMP/tmp/mysql/mysql.sock 看看会发生什么,没有好的)。

尝试对 /etc/my.cnf 文件执行相同的操作。不好。

尝试了很多其他我什至不记得了的事情。

另外,我使用的是 Mac 10.10.2,并且安装了 MAMP。根据 MA​​MP,只有 Apache 正在工作(Apache 亮了绿灯,MySQL 上什么也没有),但我已经下载了 MySQL,并且根据系统首选项它正在运行,尽管它不会让我因某种原因停止 MySQL 服务器(当我单击stop 它会停止然后自行重新启动)。

请帮忙...

如果重要的话,这是 php:

<?php
  // 1. Create a database connection
  $dbhost = "localhost";
  $dbuser = "widget_cms";
  $dbpass = "*********";
  $dbname = "widget_corp";
  $connection = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
  // Test if connection succeeded
  if(mysqli_connect_errno()) {
    die("Database connection failed: " . 
         mysqli_connect_error() . 
         " (" . mysqli_connect_errno() . ")"
    );
  }
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html lang="en">
    <head>
        <title>Databases</title>
    </head>
    <body>
        
    </body>
</html>

<?php
  // 5. Close database connection
  mysqli_close($connection);
?>
Run Code Online (Sandbox Code Playgroud)

Hen*_*Lee 3

刚刚找到解决方案!

我刚刚将 localhost 替换为 127.0.0.1。

奇怪的是,我想我以前尝试过这个。也许搞乱配置并重试它现在就可以工作了。