我刚刚将我的 Drupal 站点移动到一个新的托管 VPS。
每次我尝试运行 cron 时,都会收到这个令人讨厌的错误:
警告:收到的数据包大于“max_allowed_packet”字节查询:INSERT INTO 看门狗(uid、类型、消息、变量、严重性、链接、位置、引用者、主机名、时间戳)VALUES(1,“php”,“%message in %文件在 %line.', 'a:4:{s:6:\"%error\";s:12:\"user warning\";s:8:\"%message\";s:1582172 :\"得到一个大于 'max_allowed_packet' 字节的数据包\n查询:UPDATE cache_update SET data = 'a:72:{s:10:\"admin_menu\";a:10:{s:5:\"title\" ;s:19:\"管理菜单\";s:10:\"short_name\";s:10:\"admin_menu\";s:10:\"dc:creator\";s:3:\" sun\";s:11:\"api_version\";s:3:\"6.x\";s:17:\"recommended_major\";s:1:\"1\";s:16: \"supported_majors\";s:3:\"1,3\";s:13:\&qu 在 /home/drupal/includes/database.mysql.inc 第 135 行
问题是我已将 max_allowed_packet 设置为 1024!仍然给我这个错误。
该错误似乎与 admin_menu 模块有关,但即使禁用该模块后,错误仍然存在(引用其他模块)并且禁用该其他模块后,错误仍然存在,依此类推。
似乎问题与 mySQL 表“cache_update”有关,但我不明白发生了什么。即使在搜索 Drupal 论坛之后,我也无法解决问题。刚刚找到了一些破解核心的方法,这并不好。
我检查了 my.cnf 文件中的 max_allowed_packet 语法是否正常:
max_allowed_packet=1024M
我认为这是一个特定于 mysql 的问题,所以这就是我在此处发布此内容的原因。
感谢您的洞察力!
罗莎蒙达