2017/07/28 09:17:56 [грешка] 2488#0: *460868 FastCGI изпрати stderr: "PHP съобщение: PHP Предупреждение: Неизвестно: Входните променливи надвишаха 1000. За да увеличите промяната на лимита, max_input_vars в php.ini. в Неизвестно на ред 0", докато чете заглавие на отговора от upstream, клиент: 1.1.1.1, сървър:www.itsvse.com, заявка: "POST /admin.php HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", хост: "www.itsvse.com", референт: "http://www.it.com/xxx"
Проблем, който се появява в лога за грешки на php
Докладът за грешки все още е много приятелски настроен, трябва да показва максималния брой публикации, до 1000 съобщения
Други в интернет също са се сблъсквали с това
Преди известно време участвах в разработването на APP API, един от които е да се изпраща адресната книга на клиента през JSON, POST request API, в началото на теста не открих проблеми, а след това клиент тества качените данни непълни, докладвайки за ненормална грешка. По-късно проверих логовете и установих, че данните, получени от POST, са непълни. Независимо дали се предават 1 000 или 2 000 наведнъж, в дневника се показват само повече от 300 записа.
След един следобед на търсене, най-накрая открих, че JSON пакетът, който беше публикуван, по подразбиране е съкратен от PHP. Причината е свързана с даден параметър. php.ini max_input_vars в досието. Това е променлива, която е добавена от PHP 5.3.9.
max_input_vars, се отнася до броя на изразените комити, с стандартна стойност 1000. Официалната цел на добавянето на тази променлива е по-добра защита на сървъра от атаки. Избягвайте запушването.
След модификация трябва да модифицирате и рестартирате php-fpm
Услуга PHP-FPM стоп
Услуга PHP-FPM стартиране
След рестартиране на php-fpm, max_input_vars ще подейства, проблемът решен ли е? Решение, промени параметрите php.ini max_input_vars и после рестартирай, за да решиш проблема!
|