实际上我的服务器将 PHP 从 5.2.x 更新到 5.3.6。在此之后-我所有的 mysql 连接都失败了。我发现了这样的 PDO 错误 连接失败:SQLSTATE[HY000] [2002] 没有那个文件或目录 还检查了 pdo_mysql.default_socket 的 php.ini 文件值,即 /tmp/mysql.sock
主机服务告诉我修复我的 mysql 数据库密码。但这没有帮助。 有人可以帮我解决这个问题吗?
最佳答案
呵呵,很好的支持;)这与密码完全无关。 PDO_MySQL 在 linux 下通过套接字与 mysql-server 进行通信。首先找出, socket 现在在哪里。 (抱歉,但我不知道怎么做:X)
如果您有权访问 php.ini
,请更改
pdo_mysql.default_socket = /path/to/mysql.sock
如果您无权访问它,请按照 PDO_MySQL Connection 中所述更改 pdo 对象的实例化
$db = new PDO('mysql:unix_socket=/path/to/mysql.sock;dbname=testdb');
您可能必须在此处更改/添加一些设置。
关于php - 从 5.2.x 更新的 PHP 5.3.6 上的 PDO 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6065419/