form表单元素过多导致的故障

最近一个drupal 6搭建的站点后台菜单列表页面出现问题,编辑完毕点击”Save configuration”后页面刷新重载,设置信息却没有保存,单个菜单的修改没有问题。
首先看watchdog,没有任何相关的错误信息。
装上devel模块,dpm出form结构,没有validate,submit也没有被修改和覆盖,正常指向核心menu模块。
在核心menu模块menu_overview_form_submit内加入调试信息,发现”Save configuration”时根本没有进入到这里。
此时又发现这个故障只存在于Primary links中,Footer Menu和其他菜单可以正常编辑,而Primary links里面大概包含了600+的菜单项。
尝试在hook_form_alter里面unset掉大部分的菜单项之后,submit就可以正常工作了。
看来绕了一个大圈,原来跟表单元素过多有关系。查资料发现官方说明:
http://www.php.net/manual/en/info.configuration.php#ini.max-input-vars
PHP默认是1000,即默认允许提交的表单数据不超过1000个元素,包含hidden的元素,自PHP 5.3.9起有效。
修改php.ini或者在.htaccess中加入

max_input_vars = 3000

即可,之后submit就可以正常保存数据了。