gpt4 book ai didi

php - 警告:PDO::__construct(): [2002] 中没有这样的文件或目录(试图通过 unix:///tmp/mysql.sock 连接)

转载 作者:行者123 更新时间:2023-11-30 21:31:13 25 4
gpt4 key购买 nike

我的代码昨天运行良好,今天突然不想连接到我的数据库。我没有更改任何设置或代码,也没有更新任何软件。我所做的就是:

new PDO('mysql:host=localhost;port=3306;dbname=test', 'username', 'password');

然后我收到一条很好的异常消息:

Warning: PDO::__construct(): [2002] No such file or directory (trying to connect via unix:///tmp/mysql.sock) in ...

问题是:我显然不是在尝试使用 unix 套接字进行连接,而是使用 TCP/IP。我究竟做错了什么?我在这里遗漏了什么吗?

感谢您的帮助。

最佳答案

您正在使用 Unix 套接字。读取“localhost”时,MySQL 客户端库不会将其解释为 TCP 主机“localhost”并解析该名称,而是使用默认的套接字位置。要在本地计算机上使用 TCP,您必须使用 127.0.0.1 作为主机名。

要指定过去使用 unix_socket 而不是 DSN 中的 host。用于 localhost 的套接字的位置可以在编译时或在某些版本的 PHP 中使用 php.ini 中的 pdo_mysql.default_socket 定义.

关于php - 警告:PDO::__construct(): [2002] 中没有这样的文件或目录(试图通过 unix:///tmp/mysql.sock 连接),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56072027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com