【发布时间】:2014-11-16 21:14:26
【问题描述】:
我正在开发 Yii2 应用程序。有一个控制台脚本执行了很长时间并且失败并出现错误:MySQL 服务器已消失。
根据日志,它会在 6-7 秒后抛出异常,而不会与数据库通信(它会执行一些工作,如果需要,应该更新表)。
我在数据库配置中添加了 PDO 超时:
'attributes' => [
PDO::ATTR_TIMEOUT => 600,
],
我还检查了 MySQL 超时变量,但它们似乎很好:
mysql> show variables like '%timeout%';
+----------------------------+--------+
| Variable_name | Value |
+----------------------------+--------+
| connect_timeout | 10 |
| delayed_insert_timeout | 300 |
| innodb_lock_wait_timeout | 50 |
| innodb_rollback_on_timeout | OFF |
| interactive_timeout | 259200 |
| net_read_timeout | 30 |
| net_write_timeout | 60 |
| slave_net_timeout | 3600 |
| table_lock_wait_timeout | 50 |
| wait_timeout | 259200 |
+----------------------------+--------+
10 rows in set (0.00 sec)
我尝试像这样在控制器中重新连接:
Yii::$app->db->close();
Yii::$app->db->open();
但这没有帮助。你知道我做错了什么吗?
谢谢
【问题讨论】: