2017/07/28 09:17:56 [fel] 2488#0: *460868 FastCGI skickade in stderr: "PHP-meddelande: PHP Varning: Okänd: Indatavariabler översteg 1000. För att öka gränsförändringen max_input_vars i php.ini. i Okänd på rad 0" medan svarshuvudet läses från upstream, klient: 1.1.1.1, server:www.itsvse.com, begäran: "POST /admin.php HTTP/1.0", uppströms: "fastcgi://127.0.0.1:9000", värd: "www.itsvse.com", referrer: "http://www.it.com/xxx"
Ett problem som dyker upp i php-felloggen
Felrapporten är fortfarande mycket vänlig, det ska visa det maximala antalet inlägg, upp till 1000 meddelanden
Andra på internet har också stött på det
För ett tag sedan deltog jag i utvecklingen av ett APP-API, där ett av dem var att skicka kundens adressbok via JSON, POST-förfrågningsAPI, i början av testet hittade jag inga problem, och sedan testade en kund den uppladdade datan ofullständig och rapporterade ett onormalt fel. Senare kontrollerade jag loggarna och upptäckte att datan som POST mottagit var ofullständig. Oavsett om 1 000 eller 2 000 passeras samtidigt visas endast mer än 300 poster i loggen.
Efter en eftermiddag av rotande upptäckte jag äntligen att JSON-paketet som postades var förkortat av PHP som standard. Anledningen är kopplad till en parameter. php.ini max_input_vars i filen. Detta är en variabel som har lagts till sedan PHP 5.3.9.
max_input_vars avser antalet commits som uttrycks, med ett standardvärde på 1000. Det officiella syftet med att lägga till denna variabel är att bättre skydda servern mot attacker. Undvik igensättning.
Efter att ha modifierat behöver du modifiera och starta om php-fpm
Tjänst PHP-FPM Stopp
Service PHP-FPM Start
Efter att ha startat om php-fpm träder max_input_vars i kraft, är problemet löst? Lösning, ändra php.ini max_input_vars parametrar och sedan starta om för att lösa problemet!
|