2017/07/28 09:17:56 [napaka] 2488#0: *460868 FastCGI poslan v stderr: "PHP sporočilo: PHP Opozorilo: Neznano: Vhodne spremenljivke presegle 1000. Za povečanje omejitve se spremeni max_input_vars v php.ini. v Neznano na vrstici 0" med branjem glave odziva iz upstream, odjemalca: 1.1.1.1, strežnik:www.itsvse.com, zahteva: "POST /admin.php HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", gostitelj: "www.itsvse.com", referrer: "http://www.it.com/xxx"
Težava, ki se pojavi v dnevniku napak php
Poročilo o napakah je še vedno zelo prijazno, prikazati bi moralo največje število objav, do 1000 sporočil
Tudi drugi na internetu so se z njim srečali
Pred časom sem sodeloval pri razvoju APP API-ja, eden od njih je bil pošiljanje imenika stranke preko JSON, POST request API, na začetku testa ni bilo nobenih težav, nato pa je stranka testirala naložene podatke nepopolne in poročala o nenavadni napaki. Kasneje sem preveril dnevnike in ugotovil, da so bili podatki, prejeti preko POST, nepopolni. Ne glede na to, ali je hkrati podanih 1.000 ali 2.000 zapisov, je v dnevniku prikazanih le več kot 300 zapisov.
Po popoldnevu brskanja sem končno ugotovil, da je bil JSON paket, ki je bil objavljen, privzeto odrezan s strani PHP-ja. Vzrok je povezan s parametrom. php.ini max_input_vars v dosjeju. To je spremenljivka, ki je bila dodana od PHP 5.3.9.
max_input_vars se nanaša na število izraženih commitov, z privzeto vrednostjo 1000. Uradni namen dodajanja te spremenljivke je boljša zaščita strežnika pred napadi. Izogibajte se zamašitvi.
Po spremembi morate spremeniti in ponovno zagnati php-fpm
Postaja PHP-FPM
Zagon storitve php-fpm
Po ponovnem zagonu php-fpm bo max_input_vars začel veljati, ali je težava rešena? Rešitev, spremeni php.ini max_input_vars parametre in nato ponovno zaženi za rešitev problema!
|