2017/07/28 09:17:56 [viga] 2488#0: *460868 FastCGI saatis stderr: "PHP sõnum: PHP Hoiatus: teadmata: Sisendmuutujad ületasid 1000. Piiri suurendamiseks max_input_vars muudatus php.ini. aastal. Tundmatu reas 0", lugedes vastuse päist ülesvoolust, klient: 1.1.1.1, server:www.itsvse.com, request: "POST /admin.php HTTP/1.0", ülesvool: "fastcgi://127.0.0.1:9000", host: "www.itsvse.com", viitaja: "http://www.it.com/xxx"
Probleem, mis ilmub php vealogis
Veateate on endiselt väga sõbralik, see peaks kuvama maksimaalse postituste arvu, kuni 1000 sõnumit
Teised internetis on samuti sellega kokku puutunud
Mõni aeg tagasi osalesin APP API arendamises, millest üks on kliendi aadressiraamatu saatmine JSON-i kaudu, POST päringu API, testi alguses ei leitud probleeme ning seejärel testis klient üles laaditud andmeid mittetäielikuna, teatades ebanormaalsest veast. Hiljem kontrollisin logisid ja leidsin, et POSTi poolt saadud andmed olid puudulikud. Sõltumata sellest, kas korraga edastatakse 1000 või 2000 kirjet, kuvatakse logis vaid üle 300 kirje.
Pärast pärastlõunast viskamist avastasin lõpuks, et postitatud JSON-pakett oli vaikimisi PHP poolt kärbitud. Põhjus on seotud parameetriga. php.ini max_input_vars failis. See on muutuja, mis on lisatud alates PHP 5.3.9-st.
max_input_vars viitab väljendatud commitide arvule, vaikimisi väärtusega 1000. Selle muutuja ametlik eesmärk on serverit paremini kaitsta rünnakute eest. Väldi ummistust.
Pärast muutmist tuleb php-fpm muuta ja taaskäivitada
Teenindus PHP-FPM peatus
Teenindus PHP-FPM Start
Pärast php-fpm taaskäivitamist hakkab max_input_vars mõjuma, kas probleem on lahendatud? Lahendus, muuda php.ini max_input_vars parameetreid ja siis alusta uuesti, et probleem lahendada!
|