php - 如何避免 Error: PDOStatement::execute(): MySQL server has gone away in Yii?

标签 php mysql yii2 cleardb

我不断地收到这个错误。我如何使用 Yii 避免它?我看到了一些关于 Yii 1 的问题,但它们使用了文档中没有的选项:http://www.yiiframework.com/doc-2.0/yii-db-connection.html , http://php.net/manual/en/pdo.setattribute.php

Error: PDOStatement::execute(): MySQL server has gone away

查询通常非常简单。

The SQL being executed was: SHOW FULL COLUMNS FROM ad_group_keyword

我正在使用 MySQL(来自 ClearDB),但我无权访问服务器配置。

我将这些属性添加到 db 但它们没有帮助。

'attributes' => [
  PDO::ATTR_PERSISTENT => false, // ClearDB connection limit is 90s
  PDO::ATTR_TIMEOUT => 90,
  PDO::MYSQL_ATTR_INIT_COMMAND => 'select 1',
]

最佳答案

好的,我通过从 ClearDB 上的 MySQL 迁移 解决了这个问题。我不是唯一遇到这个问题的人。 https://www.designedbyaturtle.co.uk/2015/dedicated-vs-shared-databases-a-mysql-has-gone-way-fix/

我从 MySQL 迁移到了 Heroku Postgres。 https://stackoverflow.com/a/16732524/148844

关于php - 如何避免 Error: PDOStatement::execute(): MySQL server has gone away in Yii?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32349538/

相关文章:

php - 在 foreach 中捕获数组的下一个值

php - 从数据库中查找字段为日期时间数据类型的数据

php - Yii2 中的 $with 和 $joinWith 有什么区别以及何时使用它们?

javascript - yii2 中每页来自 appasset.php 的单个 CSS

yii2 - 如何在 Yii 2.0 的 Web 应用程序中调用控制台命令

PHP - 相减两个时间戳,以分钟为单位显示

php - 使用 PHP 输入高尔夫分数并存储在 MySQL 中

java - 在 Java、Hibernate 和 MySQL 中,ñ 等于 n

mysql - MongoDB 高存储大小

php - 使用 php 从 mysql 中获取值