2017/07/28 09:17:56 [błąd] 2488#0: *460868 FastCGI wysłane w stderr: "Komunikat PHP: PHP Ostrzeżenie: Nieznane: Zmienne wejściowe przekroczyły 1000. Aby zwiększyć limit, zmienia max_input_vars w php.ini. w Nieznane na linii 0" podczas odczytu nagłówka odpowiedzi z upstream, klient: 1.1.1.1, serwer:www.itsvse.com, żądanie: "POST /admin.php HTTP/1.0", upstream: "fastcgi://127.0.0.1:9000", host: "www.itsvse.com", referrer: "http://www.it.com/xxx"
Problem, który pojawia się w logu błędów php
Raport błędów jest nadal bardzo przyjazny, powinien wyświetlać maksymalną liczbę postów, do 1000 wiadomości
Inni w Internecie również się z tym spotkali
Jakiś czas temu uczestniczyłem w tworzeniu API APP, z których jednym było wysyłanie książki adresowej klienta przez JSON, POST request API, na początku testu nie zauważono żadnych problemów, a potem klient przetestował przesłane dane jako niekompletne, zgłaszając nieprawidłowy błąd. Później sprawdziłem logi i okazało się, że dane otrzymane przez POST były niekompletne. Niezależnie od tego, czy przekazuje się 1 000 czy 2 000 jednocześnie, w logu wyświetlanych jest tylko ponad 300 rekordów.
Po popołudniu pełnym przeszukiwania w końcu odkryłem, że pakiet JSON, który został opublikowany, został domyślnie obcięty przez PHP. Powód jest związany z parametrem. php.ini max_input_vars w aktach. Jest to zmienna dodana od czasu PHP 5.3.9.
max_input_vars odnosi się do liczby wyrażonych commitów, z domyślną wartością 1000. Oficjalnym celem dodania tej zmiennej jest lepsza ochrona serwera przed atakami. Unikaj zapychania.
Po modyfikacji musisz zmodyfikować i zrestartować php-fpm
Przystanek PHP-FPM
Usługa PHP-FPM Start
Po ponownym uruchomieniu php-fpm max_input_vars zacznie działać, czy problem został rozwiązany? Rozwiązanie, zmodyfikuj php.ini max_input_vars parametry, a potem uruchom od nowa, żeby rozwiązać problem!
|