2017/07/28 09:17:56 [chyba] 2488#0: *460868 FastCGI odoslané v stderr: "PHP správa: PHP Upozornenie: Neznáme: Vstupné premenné prekročili 1000. Na zvýšenie limitu sa max_input_vars php.ini. v neznámom na riadku 0" pri čítaní hlavičky odpovede z upstreamu, klient: 1.1.1.1, server:www.itsvse.com, požiadavka: "POST /admin.php HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", hostiteľ: "www.itsvse.com", referrer: "http://www.it.com/xxx"
Problém, ktorý sa objavuje v chybovom zázname php
Správa o chybe je stále veľmi priateľská, mala by zobrazovať maximálny počet príspevkov, až do 1000 správ
Aj iní na internete sa s tým stretli
Pred časom som sa podieľal na vývoji APP API, jedným z nich bolo posielanie adresára klienta cez JSON, POST request API, na začiatku testu som nenašiel žiadne problémy, a potom zákazník otestoval nahrané dáta neúplné a nahlásil abnormálnu chybu. Neskôr som skontroloval záznamy a zistil som, že údaje prijaté POST boli neúplné. Bez ohľadu na to, či sa naraz odovzdá 1 000 alebo 2 000, v logu sa zobrazuje len viac ako 300 záznamov.
Po popoludňajšom hľadaní som nakoniec zistil, že JSON paket, ktorý bol zverejnený, bol štandardne skrátený PHP. Dôvod súvisí s parametrom. php.ini max_input_vars v spise. Toto je premenná, ktorá bola pridaná od PHP 5.3.9.
max_input_vars, označuje počet vyjadrených commitov, s predvolenou hodnotou 1000. Oficiálnym účelom pridania tejto premennej je lepšie chrániť server pred útokmi. Vyhnite sa upchatiu.
Po úprave je potrebné upraviť a reštartovať php-fpm
Zastávka PHP-FPM
Služba php-fpm štart
Po reštarte php-fpm sa max_input_vars aktivuje, je problém vyriešený? Riešenie, upraviť php.ini max_input_vars parametre a potom reštartovať, aby ste problém vyriešili!
|