gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 23:41:36 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”并解析该名称,而是使用默认的 Socket 位置。要在本地计算机上使用 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/1819592/

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