2017/07/28 09:17:56 [hiba] 2488#0: *460868 FastCGI küldte a stderr-t: "PHP üzenet: PHP Figyelmeztetés: Ismeretlen: A bemeneti változók meghaladták az 1000-et. A limit növeléséhez max_input_vars változtatás php.ini-ben. Ismeretlen 0-s sorban", miközben a válaszfejlécet olvasom fel az upstreamből, kliens: 1.1.1.1, szerver:www.itsvse.com, request: "POST /admin.php HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", host: "www.itsvse.com", referer: "http://www.it.com/xxx"
Egy probléma, ami megjelenik a php hibanaplóban
A hibajelentés továbbra is nagyon barátságos, a maximális bejegyzések számának megjelenítése lehet, legfeljebb 1000 üzenet
Mások az interneten is találkoztak vele
Nemrég részt vettem egy APP API fejlesztésében, amelynek egyik az volt, hogy a kliens címkönyvét JSON-on keresztül küldjem, a POST request API-val, a teszt elején nem találtam problémát, majd egy ügyfél hiányos tesztelte a feltöltött adatokat, és rendellenes hibát jelentett. Később megnéztem a naplókat, és azt találtam, hogy a POST által kapott adatok hiányosak. Függetlenül attól, hogy egyszerre 1 000 vagy 2 000 lemezt adnak át, a naplóban csak több mint 300 feljegyzés jelenik meg.
Egy délutánnyi pótagolás után végre rájöttem, hogy a feltöltött JSON csomagot alapértelmezetten PHP lerövidítette. Az ok egy paraméterhez kapcsolódik. php.ini max_input_vars a fájlban. Ez egy változó, amelyet a PHP 5.3.9 óta adtak hozzá.
max_input_vars a kifejezés szerinti commitek számát jelenti, alapértelmezett értékük 1000. Ennek a változónak a hivatalos alkalmazása a szerver jobb védelme a támadásoktól. Kerüld el a dugulást.
Módosítás után módosítani és újraindítani kell a php-fpm rendszert
Szolgáltatás PHP-FPM megállója
PHP-FPM szolgáltatás Start
A php-fpm újraindítása után a max_input_vars lép életbe, megoldódott a probléma? Megoldás: módosítsd php.ini max_input_vars paramétereket, majd kezdd újra, hogy megoldd a problémát!
|