警告:mysqli_connect():(HY000/2002):没有这样的文件或目录
P粉693126115
P粉693126115 2023-08-27 17:47:27
0
2
387
<p>我正在尝试在我的 Mac 上安装普通论坛,为此我刚刚从 MySQL 命令行创建了一个数据库和一个用户:</p> <pre class="brush:php;toolbar:false;">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)</pre> <p>所以我尝试使用以下代码进行连接:</p> <pre class="brush:php;toolbar:false;">$con=mysqli_connect("localhost","vanilla_user3","vanilla_password","vanilla"); if (mysqli_connect_errno($con)) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); }</pre> <p>但不幸的是,我收到一条错误消息</p> <blockquote> <p>警告:mysqli_connect():(HY000/2002):第 3 行 /Users/kramer65/Sites/vanilla/info.php 中没有此类文件或目录 无法连接到 MySQL:没有这样的文件或目录</p> </blockquote> <p>知道我哪里出错了吗?</p>
P粉693126115
P粉693126115

全部回复(2)
P粉133321839

我遇到了同样的问题,但问题与 php.ini 文件有关。

我必须在 /etc/php.ini 中编辑这两行(或者您的 php.ini 所在的位置):

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

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

sudo apachectl restart
P粉320361201

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!