如何在PHP中增加最大POST变量?

Ana*_*nan 42 php post wamp

我在我的本地机器上使用WAMP,当提交带有2000个输入字段的FORM(method ="POST")时,我只能读取1001 _POST变量.即使用Netbeans调试器,如果表单中有超过1001个输入字段,我可以清楚地看到_POST大小始终为1001.

我使用这个http://ideone.com/GAw14 java代码生成带有N个输入字段的表单并进行测试.

在另一台机器(WAMP)中工作正常,我可以在其中查看所有POST变量.

请帮我解决我的问题.

lig*_*ter 84

PHP 5.3.9引入了max_input_varsconfig选项,默认值为1000.查看PHP手册的Runtime Configuration部分.默认值和更改日志位于页面顶部.

可以通过更新服务器的php.ini,添加.htaccess文件或向httpd.conf添加一行来更改该值.


jpr*_*itt 18

如果您正在使用带有强化PHP的Suhosin,那么您可能会达到它所强加的最大变量限制.在你的php.ini中,你可以添加

[suhosin]
suhosin.request.max_vars = 1000
suhosin.post.max_vars = 1000
Run Code Online (Sandbox Code Playgroud)

更改1000为您想要的任何内容并重新启动您的Web服务器

我在Drupal Permissions页面上遇到了这个问题,当时安装了大量具有大量角色的模块,这导致了大量的复选框.它只会在被忽略之前保存一定数量的它们.

听起来这可能不是你的问题,但是因为很可能未来的某个人在搜索相关的东西时会偶然发现这个,我会继续把它扔进去,因为我花了很多时间弄清楚我什么时候被难倒.


小智 8

我通过在php.ini中添加以下内容来解决了我的$ _POST max输入-problem:

max_input_vars = 5000
suhosin.request.max_vars = 5000
suhosin.post.max_vars = 5000
Run Code Online (Sandbox Code Playgroud)

另请注意suhosin.request.max_vars.