2017/07/28 09:17:56 [chyba] 2488#0: *460868 FastCGI odesláno ve stderr: "PHP zpráva: PHP Varování: Neznámé: Vstupní proměnné překročily 1000. Pro zvýšení limitu změna max_input_vars v php.ini. v Neznámo na řádku 0" při čtení hlavičky odpovědi z upstream serveru, klient: 1.1.1.1, server:www.itsvse.com, požadavek: "POST /admin.php HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", hostitel: "www.itsvse.com", referrer: "http://www.it.com/xxx"
Problém, který se objevuje v logu chyb php
Chybová zpráva je stále velmi přátelská, měla by zobrazovat maximální počet příspěvků, až 1000 zpráv
Na internetu se s tím také setkali i další na internetu
Před nějakou dobou jsem se podílel na vývoji APP API, z nichž jedno bylo posílání adresáře klienta přes JSON, POST request API, na začátku testu jsem nenašel žádné problémy, a pak zákazník otestoval nahraná data neúplná a nahlásil abnormální chybu. Později jsem zkontroloval záznamy a zjistil jsem, že data přijatá POST byla neúplná. Bez ohledu na to, zda je najednou předáno 1 000 nebo 2 000 záznamů, v logu se zobrazí pouze více než 300 záznamů.
Po odpoledni plném hledání jsem konečně zjistil, že JSON paket, který byl zveřejněn, byl ve výchozím nastavení zkrácen PHP. Důvod souvisí s parametrem. php.ini max_input_vars ve spise. Tato proměnná byla přidána od PHP 5.3.9.
max_input_vars označuje počet vyjádřených commitů, s výchozí hodnotou 1000. Oficiálním účelem přidání této proměnné je lepší ochrana serveru před útoky. Vyhněte se ucpávání.
Po úpravě je potřeba upravit a restartovat php-fpm
Zastávka PHP-FPM
Služba PHP-FPM Start
Po restartu php-fpm se max_input_vars aktivuje, je problém vyřešen? Řešení, upravte php.ini max_input_vars parametry a pak restartujte, abyste problém vyřešili!
|