How to increase maximum POST variable in PHP?

别来无恙 提交于 2019-11-26 11:51:24

PHP 5.3.9 introduced the max_input_vars config option, which is defaulted to a value of 1000. Check out the Runtime Configuration section of the PHP manual. The default value and the change log are at the top of the page.

The value can be changed by updating the server's php.ini, adding an .htaccess file, or adding a line to httpd.conf.

If you are using Suhosin with Hardened PHP, you might be hitting a maximum variables limit that it imposes. In your php.ini, you can just add

[suhosin]
suhosin.request.max_vars = 1000
suhosin.post.max_vars = 1000

changing 1000 to whatever you want and restart your webserver.

I ran into this on the Drupal Permissions page when there were a lot of modules installed with a large number of roles, which resulted in a ton of checkboxes. It would only save a certain number of them before anything after would just get ignored.

It sounds like this is probably not your problem, but since it's fairly likely that someone in the future may stumble upon this when searching for something related I'll go ahead and throw this in since it took me ages to figure out when I was stumped.

I solved my $_POST max inputs -problem by adding the following to php.ini:

max_input_vars = 5000
suhosin.request.max_vars = 5000
suhosin.post.max_vars = 5000

Note the suhosin.request.max_vars also.

I solved this problem. Open the PHP.INI configuration file and add these lines

[suhosin]

suhosin.post.max_vars = 20000

suhosin.request.max_vars = 20000

I suspect the problem is with the amount of data coming with your POST request. There is no setting which limits the number of $_POST vars that can be set. However there is a memory limit for POST data which is 8MB by default.

In your php.ini file try modifying the value of post_max_size and set it to a higher value. Don't forget to restart apache after the change is made.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!