php - 从 5.2.x 更新的 PHP 5.3.6 上的 PDO 错误

标签 php mysql pdo

实际上我的服务器将 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/

相关文章:

php - 如何在 Symfony 2 的 Form (Type) 类中获取实体存储库的实例?

php - 如何在 zend db 中使用 union

mysql - MySQL 4.1 的 SET 与 LOAD DATA INFILE 的等价物?

php - 如何复制 mySQL 表行但插入一个自定义值?

php - 如何在不重新加载的情况下刷新 PHP 页面

php - MySQL 查询在 PHP 中返回空值,但工作正常

mysql where 子句根据设备显示横幅

php - 日期不工作的 PDO bindParam

php - PDO 设置 PDO::MYSQL_ATTR_FOUND_ROWS 失败

PhpStorm、PHPUnit 和 setcookie