max_execution_time
PHP 최대 실행 시간, php.ini의 기본값은 30입니다. 즉, 페이지가 30초 동안 실행된 후 서버가 페이지 실행을 직접 강제 종료합니다.
일반 페이지는 30초면 충분하지만, 대용량 데이터 분석을 위해 PHP 실행을 직접 사용해야 하는 일부 페이지의 경우 페이지 실행 효율성에 따라 max_execution_time 값을 조정해야 하며, 물론 최고의 페이지 실행 효율성을 얻기 위한 알고리즘으로 성능을 최대한 향상시킵니다.
max_input_vars
php에서 제출된 양식(컨트롤)의 최대 수는 php.ini의 기본값은 1000입니다. 즉, 양식 양식 게시 데이터에 포함된 컨트롤(입력) 수는 1000을 초과할 수 없습니다.
1000개 입력으로는 충분하지 않나요? 사람들이 채울 수 있나요? 이런 질문이 있으실 텐데요, 실제 프로그래밍 과정에서 이런 문제가 발생했습니다. 엑셀 테이블 문서를 업로드하고, PHPExcel 클래스 라이브러리를 이용하여 파싱한 후, 사용자가 확인할 수 있도록 페이지에 출력하는 것이었습니다. " "데이터 제출"이 데이터베이스에 삽입됩니다. 각 데이터 단위는 양식 입력(숨김)에 저장됩니다. 입력 개수는 200(행) * 8(열) = 1600으로 기본 개수를 초과합니다. 결과적으로 첫 번째 데이터는 매번 125개의 데이터가 데이터베이스에 삽입됩니다.
이 문제를 처음 접했을 때 페이지에 $_POST 값을 직접 출력해 보았는데 레코드가 125개밖에 안 되어서 포스트 전송에 문제가 있는 것으로 판단되었습니다. 기본적으로 PHP의 게시물 크기 제한에 초점을 맞춘 소수의 유사한 문제 정보를 발견했습니다. 그러나 php.ini에서는 post_max_size의 기본값이 32M인 것을 발견했습니다. 어쨌든 문제는 게시물 크기 제한이 아닌 것 같습니다. 나중에 이것이 컨트롤에 대한 제한일 수 있다는 것을 깨달았고, 마침내 max_input_vars가 포스트 컨트롤에 대한 제한이라는 것을 발견했습니다. 하지만 내 로컬 컴퓨터에 설치된 wamp의 php.ini에서 max_input_vars에 대한 관련 정보를 찾을 수 없어 직접 추가만 할 수 있습니다.
<code><span>; Maximum input variable nesting level</span><span>; http://php.net/max-input-nesting-level</span><span>;max_input_nesting_level = 64</span><span>max_input_vars = <span><span>5000</span>; //默认<span>1000</span></span></span><span>; Maximum amount of memory a script may consume (128MB)</span><span>; http://php.net/memory-limit</span><span>memory_limit = <span><span>128</span>M</span></span></code>
upload_max_filesize 및 post_max_size
하나는 파일 업로드 최대 한도이고, 다른 하나는 게시물 최대 한도입니다. max_input_time
이 변수는 post 및 get 메소드를 통해 데이터를 수신하는 시간을 초 단위로 제한합니다. 기본값은 60초입니다.
애플리케이션이 느린 링크에서 실행 중인 경우 데이터 수신에 필요한 추가 시간을 수용하기 위해 이 값을 늘릴 수 있습니다.
이상에서는 내용의 측면을 포함하여 php.ini에서 자주 접하는 "제한 사항"을 요약하여 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.