Я разрабатываю решение OpenCart с плагином каскадных опций в админке. Таким образом, при сохранении формы продукты с большой комбинацией параметров создают большие массивы $ _POST.
Насколько я вижу, массив (длина которого составляет чуть более 1000 ключей для этого продукта) усекается до отметки 1000 (что соответствует значению по умолчанию max_input_vars).
Я нахожусь на php 5.3.29, который должен позволить мне изменить настройку max_input vars ini. Я добавил в локальный php.ini, а также попробовал сервер php.ini. Мой phpinfo () говорит max_input_vars: 3000, но массив все еще усекается в той же точке.
Я предположил, что это не ошибка post_max_size, так как добавление фиктивного текста в более мелкие ключевые переменные записи не усекается в другой точке, но я не уверен, могут ли какие-либо другие переменные ini повлиять на это.
Я также проверил в отладчике Чарльза, определенно размещается полный массив записей.
Какие-либо предложения?
У меня была та же проблема, и я исправил ее, установив значение max_input_vars в этом php.ini:
/etc/php5/apache2/php.ini
хотя php_info () сообщает о другом используемом php.ini (/etc/php5/cli/php.ini). Кстати, прежде чем я наткнулся на решение, я также попытался установить значение в .htaccess (в корневом каталоге веб-страницы), безрезультатно.
Это похоже на возможную ошибку в PHP 5.5. В любом случае, я предлагаю найти все файлы php.ini на вашем сервере («locate php.ini») и установить max_input_vars во всех них (или первый, который работает, да). Не забудьте перезапустить Apache, чтобы он вступил в силу (sudo /etc/init.d/apache2 restart)
Кстати, моя версия PHP 5.5.9-1ubuntu4.5, установленная на Ubuntu 14.04.
Других решений пока нет …