php - PDO:MySQL 服务器已消失

标签 php mysql pdo

我有一个脚本,每晚都会进行大量跑腿工作。

它使用在循环中执行的 PDO 准备语句。

前几个运行良好,但后来我发现它们都失败并出现错误: “MySQL 服务器已经消失”。

我们运行 MySQL 5.0.77。

PHP 版本 5.2.12

网站的其余部分运行良好。

最佳答案

很可能您向服务器发送的数据包长度超过了允许的最大数据包数。

当您尝试插入BLOB时超出了服务器的最大数据包大小,即使在本地服务器上,您也会在客户端看到以下错误消息:

MySQL server has gone away

服务器日志中出现以下错误消息:(如果启用了错误日志记录)

Error 1153 Got a packet bigger than 'max_allowed_packet' bytes

要解决此问题,您需要确定最大 BLOB 的大小是多少您将永远插入并设置 max_allowed_packetmy.ini因此,例如:

[mysqld]
...
max_allowed_packet = 200M
...

关于php - PDO:MySQL 服务器已消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42490257/

相关文章:

PHP ArrayObject 内部工作原理

php - 多个文件输入实现

php - 将 SQL 返回的数据分解为更多字段

mysql - 如何在 WordPress 中将数据库时区从 UTC 更改为本地

MySQL:带有隐式 GROUP BY 的 COUNT

php - 连接错误 - SQLSTATE[HY000] [2002] 操作超时

MYSQL 中的 PHP 变量使用 PDO 选择

php - Perl 相当于 Php foreach 循环

mysql - 如何获取每个月*at*的注册用户总数?

php - bindParam和bindValue有什么区别?