1

我刚刚将我的 Drupal 站点移动到一个新的托管 VPS。

每次我尝试运行 cron 时,都会收到这个令人讨厌的错误:

警告:得到一个大于“max_allowed_pa​​cket”字节查询的数据包:INSERT INTO watchdog(uid、type、message、variables、severity、link、location、referer、hostname、timestamp)VALUES(1,'php','%message in %文件在 %line.', 'a:4:{s:6:\"%error\";s:12:\"user warning\";s:8:\"%message\";s:1582172 :\"得到一个大于 'max_allowed_pa​​cket' 字节的数据包\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_pa​​cket 设置为 64,然后是 100,然后是 250,然后是 512!!!仍然给我这个错误。

该错误似乎与 admin_menu 模块有关,但即使禁用该模块后,错误仍然存​​在(引用其他模块)并且禁用该其他模块后,错误仍然存​​在,依此类推。

似乎问题与 mySQL 表“cache_update”有关,但我不明白发生了什么。即使在搜索 Drupal 论坛之后,我也无法解决问题。刚刚找到了一些破解核心的方法,这并不好。

我认为这是一个特定于 mysql 的问题,所以这就是我在此处发布此内容的原因。

感谢您的洞察力!

罗莎蒙达

4

1 回答 1

1

有几点需要考虑:

  1. 你确定 的语法max_allowed_packet是正确的吗?您是否指定单位?IEmax_allowed_packet = 512M

  2. 您确定 MySQL 使用的是my.cnf您正在编辑的同一文件吗?从控制台登录 MySQL,然后运行:设置正确吗SHOW GLOBAL VARIABLES;max_allowed_packet

  3. 最后,如果一切都失败了,请考虑通过 Drupal Tweaks 模块解决此问题:http: //drupal.org/project/drupal_tweaks

于 2012-12-25T03:38:09.217 回答