【问题标题】:Doctrine - Packets out of Order学说 - 数据包乱序
【发布时间】:2019-11-13 15:45:14
【问题描述】:

目前我正在尝试部署一个使用 Symfony 和 Doctrine 制作的应用程序。虽然应用程序本身运行良好,但我的 MySQL 数据库一直以 SQLSTATE[HY000] [2006] MySQL server has gone away-error 响应。

我已经检查了我的 MySQL 数据库上的 max_allowed_pa​​cket 和 wait_timeout 变量,它们都设置为有效数字来运行数据包。

但是当我运行php bin/console doctrine:migrations:status 时,添加了以下错误:

In PDOConnection.php line 27:
  Packets out of order. Expected 0 received 45. Packet size=4739923

同样,该数据包大小可以通过我设置的 max_allowed_pa​​ckage 设置。在有关此错误消息的其他帖子中,我发现应该将 PDO::ATTR_EMULATE_PREPARES 添加到数据库配置中。但我只能找到解释如何在标准 PHP 或 Laravel 中执行此操作的帖子。

我的问题是这样的;如何解决 Doctrine 中的数据包乱序问题?

提前致谢。

【问题讨论】:

    标签: php mysql doctrine


    【解决方案1】:

    我今天找到了问题的答案。我正在使用共享托管服务,并试图连接到整个共享的 MySQL 数据库,而不是仅仅连接到我的部分。从以下位置更改我的数据库 URL 后:

    DATABASE_URL="mysql://db_user:db_password@server_adress(like 123.4.5.6)/my_db"
    

    DATABASE_URL="mysql://db_user:db_password@localhost/my_db"
    

    我的应用程序开始工作并连接到我的数据库。

    【讨论】:

      猜你喜欢
      • 2013-01-26
      • 1970-01-01
      • 2018-02-18
      • 1970-01-01
      • 1970-01-01
      • 2015-09-24
      • 2014-11-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多