警告:mysqli_connect(): (HY000/2002): 没有此类文件或目录

2022-08-30 08:36:16

我正在尝试在我的Mac上安装vanilla论坛,为此,我刚刚从MySQL命令行创建了一个数据库和一个用户:

mysql> CREATE DATABASE vanilla;
Query OK, 1 row affected (0.00 sec)

mysql> create user 'vanilla_user3'@'localhost' IDENTIFIED BY 'vanilla_password';
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON * . * TO 'vanilla_user3'@'localhost';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

因此,我尝试使用以下代码进行连接:

$con=mysqli_connect("localhost","vanilla_user3","vanilla_password","vanilla");
if (mysqli_connect_errno($con)) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

但不幸的是,我得到一个错误说

警告:mysqli_connect(): (HY000/2002): 第 3 行的 /Users/kramer65/Sites/vanilla/info.php中没有此类文件或目录 无法连接到 MySQL: 没有此类文件或目录

任何想法,我哪里错了?


答案 1

好吧,我刚刚找到了解决方案。事实证明,问题在于主机不应该是 ,但是 。我一直以为是一样的,但结果是不同的。localhost127.0.0.1localhost127.0.0.1

因此,也许作为未来用户的提示,在有疑问时始终使用ip。


答案 2

我有同样的问题,但问题是与文件有关的东西。php.ini

我不得不在(或您所在的任何地方)编辑这两行:/etc/php.iniphp.ini

mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock

重新启动 apache 服务器以确保更改得到反映。

sudo apachectl restart

推荐