服务器已经离开PHP mysql连接错误



我有一个问题,当我试图用php登录到我的数据库。我有一个php网站,我需要使用数据库,所以我有一个文件,我尝试连接:

$db = new PDO('mysql:host=IP;dbname=DB_Name', 'Username', '********');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $db;

然后出现错误:

致命错误:Uncaught PDOException: Packets out of order。预计0收到1。数据包大小=78/var/www/html/index.php:6#0/var/www/html/index.php(6): PDO->__construct() #1 {main} Next PDOException: SQLSTATE[HY000] [2006] MySQL server has gone away in#0/var/www/html/index.php(6):PDO->__construct() #1 {main}在/var/www/html/index.php中在线抛出6

我的数据库在VPS上。数据库用我的php代码安装在上面。

我已经在网上寻找解决方案,但没有任何改变。

谢谢你的帮助。

如果您在PHP日志中获得数据包无序错误,则很有可能是由于PHP和MySQL版本之间存在不兼容性。如果升级它们不是一个选项,您可以尝试在导致问题的PHP脚本中添加以下语句:

$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);

也许这有帮助…

SHOW VARIABLES LIKE '%timeout%'"截图

相关内容

  • 没有找到相关文章

最新更新