Recently while I was providing support to one of our client I found out that there is a PHP setting max_input_vars (available since?PHP 5.3.9) which limits the number of variables that PHP will process. If this value is 1000 (default is 1000) PHP will process first 1000 variables and drop the remaining. This was the reason why some menu items were saved and some not.
To solve this issue we need to increase the max_input_vars to a bigger number. I changed it to 2000 and it solved my problem. You might need less or more depending on your requirements.
How can you change this value There are 2 ways. One from php.ini and another from .htaccess. But in a shared server times it’s always not possible to change the value directly at main php.ini file, as it’s shared with all the hosted website.
So, those changes also may done using .htaccess file. Here I will show how to change it using .htaccess file
Change max_input_vars using .htaccess file.
If you want to change the max_input_vars using .htaccess file then add the following code in you .htaccess file.
php_value max_input_vars 2000
That’s it you are done.