我们在测试 WordPress 网站时,遇到一个关于菜单的奇怪问题。当菜单项数量很多时,保存菜单时末尾的几项会丢失,连菜单位置的设定也没了。具体的说,我创建了一个菜单,大概有 80 多个菜单项,这 80 多个是直接用 WordPr} w . Y 3ess import 工具导入的测D _ / v a - e . f试数据。但当我想修改菜单,增加几项时,问题就来了,只| o ) i \ 1 F n d要多加一个,排在最后的菜单必定会消失一个,连菜单位置的设定也没了,导致无法增加更多的菜单^ t s D 0 U项。
google 了一下,发现答案,原来是服务器问题,php 5.3.9 后增加了一项叫做 max_input_vars,默认值4 s M u T ? ) j 8 1000,即表单一次可以提交 1000 个变量。超过了怎么办i d + 0,y B Y ?只能被截断,也就是说传到 WordPress 的数据早就被服务器截断了,丢失了,WordPress 只能对着残缺不全的数据哑巴吃黄连。
办法一:
打开 php.ini 搜索 ma8 d b H Ax_input_vars+ 7 c 2 * R $ ,其中 max_input_vars = 1000 后面的 1000 修改为 2000 或者更大的数字,并且去掉前面的封号)
方法二:
拷贝一份 php.ini,放到 wp-admin 目录下,在 php.ini 里加上这几项,问题就可以解决,放到网站根目录下只能改变前台的设置,影响不到后k k # X E g X j 8台。
- max_input_vars = 2000
- suhosin.posw - O j q ) .t.max_vars = 2000
- suhosin.request.max_vars = 2000
虽说 maxH 6 : ^_input_vars 是从 php 5.3.9 开始有的,但我用的是 php 5.3.] } ~ 5 $ A {28,也有这个变量。如果遇到这个问题r N { $ X m h .,php 版本又没到 5.3.9,php.ini 里也没这项? O V | + &,直接加上就好。