2017/07/28 09:17:56 [오류] 2488#0: *460868 FastCGI 전송: stderr: "PHP 메시지: PHP 경고: 알 수 없음: 입력 변수가 1000을 초과했습니다. 한도 변경을 늘리려면 php.ini에서 max_input_vars. Unknown 라인 0"에서 응답 헤더를 읽으면서 클라이언트: 1.1.1.1, 서버:www.itsvse.com, 요청: "POST /admin.php HTTP/1.0", 상행: "fastcgi://127.0.0.1:9000", 호스트: "www.itsvse.com", 참조자: "http://www.it.com/xxx"
php 오류 로그에 나타나는 문제입니다
오류 보고서는 여전히 매우 친절하며, 최대 1000개의 게시물 수를 표시해야 합니다
인터넷의 다른 사람들도 이 문제를 겪었습니다
얼마 전, 저는 APP API 개발에 참여했는데, 그 중 하나는 클라이언트의 주소록을 JSON, POST 요청 API로 보내는 방식이었습니다. 테스트 초반에는 아무런 문제가 없었고, 그런데 고객이 업로드된 데이터를 불완전하게 테스트하며 비정상적인 오류를 보고했습니다. 나중에 로그를 확인해보니 POST가 받은 데이터가 불완전했습니다. 한 번에 1,000건이든 2,000건이든 상관없이, 로그에는 300건 이상의 기록만 표시됩니다.
오후 내내 고민한 끝에, 게시된 JSON 패킷이 기본적으로 PHP로 단축되어 있다는 것을 알게 되었습니다. 그 이유는 어떤 매개변수와 관련이 있습니다. php.ini max_input_vars 파일에 있어. 이 변수는 PHP 5.3.9부터 추가된 것입니다.
max_input_vars는 표현된 커밋 수를 나타내며, 기본값은 1000입니다. 이 변수를 추가한 공식적인 목적은 서버를 공격으로부터 더 잘 보호하는 것입니다. 막힘을 피하세요.
수정 후에는 php-fpm을 수정하고 재시작해야 합니다
서비스 PHP-FPM 정지
Service PHP-FPM Start
php-fpm을 재시작하면 max_input_vars이 적용되는데, 문제가 해결된 건가요? 해결책, 매개변수를 php.ini max_input_vars수정한 후 다시 시작해서 문제를 해결하세요!
|