Home > Article > Backend Development > Input variables exceeded 1000 when submitting php post
When submitting a post, if the array is too large, this may occur:
<code>Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars</code>
The solution is: open php.ini and modify the parameters
max_input_vars = 1000;
Change the default 1000 to a larger value.
Seems like a simple question. But if you receive post request users and the server environment is various, you can't let everyone who uses your service change this parameter.
So, I processed the post array with json_encode and base64 first. It was sealed into a parameter, but it took 0.3 seconds for the server to parse these arrays. It cost 100 times more than before. This still feels inappropriate. And if memory_limit is set too small, it will prompt insufficient memory.
Both options have their own shortcomings.
If it were you, how would you deal with this problem?
When submitting a post, if the array is too large, this may occur:
<code>Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars</code>
The solution is: open php.ini and modify the parameters
max_input_vars = 1000;
Change the default 1000 to a larger value.
Seems like a simple question. But if you receive post request users and the server environment is various, you can't let everyone who uses your service change this parameter.
So, I processed the post array with json_encode and base64 first. It was sealed into a parameter, but it took 0.3 seconds for the server to parse these arrays. It cost 100 times more than before. This still feels inappropriate. And if memory_limit is set too small, it will prompt insufficient memory.
Both options have their own shortcomings.
If it were you, how would you deal with this problem?
I choose the second option, json transmission.
First of all, I don’t know how you calculated that json parsing is 0.3 seconds slower than post parsing. That is, how do you know how long it takes to parse a post?
Secondly, compared to form-data, the json format is more customizable and has better support for lists, objects, etc. Making good use of these things can greatly reduce the size of the transferred data.