[php] PHP에서 실행 시간 제한을 늘리는 방법은 무엇입니까?

트랜잭션 시간 초과를 늘리는 방법은 무엇입니까? 동영상을 올리고 싶지만 큰 동영상이 업로드되지 않습니까?

오류가 발생합니다. The process *** exceeded the timeout of 60 seconds.



답변

php.ini에서 일부 설정을 변경해야합니다.

upload_max_filesize = 2M
;or whatever size you want

max_execution_time = 60
; also, higher if you must - sets the maximum time in seconds

PHP.ini의 위치는 환경에 따라 다릅니다. 자세한 정보 : http://php.net/manual/en/ini.list.php


답변

런타임 중에도 할 수 있어야합니다.

set_time_limit(100);

http://php.net/manual/en/function.set-time-limit.php

또는 vhost-config에서

php_admin_value max_execution_time 10000

글로벌 실행 시간 제한을 LOW로 설정하는 것은 그다지 신뢰할 수없는 애플리케이션의 성능 이유에 대한 좋은 생각입니다. 따라서 해당 스크립트가 절대적으로 필요한 시간 동안 만 실행되도록 허용 할 수 있습니다.

추신 : post_max_size 및 upload_max_filesize를 잊지 마십시오 (첫 번째 답변이 모두 준비된 것처럼)


답변

Hannes의 답변을 완성합니다.

php.ini에서 일부 설정을 변경해야합니다.

upload_max_filesize = 2M
;or whatever size you want

max_execution_time = 60
; also, higher if you must

누군가 무제한으로 넣으려면 (이유는 모르겠지만 원하는 경우) 시간을 0으로 설정할 수 있습니다.

php.ini에서 일부 설정을 변경해야합니다.

upload_max_filesize = 0

max_execution_time = 0

그리고 php.ini가 어디에 있는지 모른다면. 서버에서 “name.php”파일을 만들고 다음을 넣을 수 있습니다.

<?php phpinfo(); ?>

그리고 웹 사이트에서 php.ini의 설정을 볼 수 있으며 어디에 있는지 표시되어 있습니다.

2015 년 1 월 9 일 수정 :

php.ini에 액세스 할 수없는 경우 두 가지 옵션이 더 있습니다.

“name.php”파일에서이 줄을 직접 설정할 수 있지만이 옵션에 대한 upload_max_filesize를 찾을 수 없습니다.

set_time_limit(0);

또는 “.htaccess”

php_value upload_max_filesize 0
php_value max_execution_time 0


답변

해야 할 일이 1 또는 2 페이지에만 해당되는 경우 전체 응용 프로그램에 영향을 미치지 않도록 set_time_limit 를 사용하는 것이 좋습니다 .

set_time_limit(some_values);

그러나 물론이 두 값 (post_max_size 및 upload_max_filesize)은 조사 대상입니다.

ini_set 함수 를 통해 설정할 수 있습니다.

ini_set('post_max_size','20M');
ini_set('upload_max_filesize','2M');

또는 Hannes의 응답과 같은 php.ini 파일에서 직접 또는 아래와 같이 .htaccess에서 설정하십시오.

php_value upload_max_filesize 2M
php_value post_max_size 20M


답변

위의 답변 외에도 set_time_limit()기능을 사용할 수 있습니다 .

http://php.net/manual/en/function.set-time-limit.php

0인수로 전달 하면 스크립트가 시간 제한없이 실행됩니다.


답변

다른 사람이 언급 한 php.ini 설정 외에도 Microsoft IIS 서버를 사용 하는 경우 IIS 서버 관리자에서 PHP FastCGI 응용 프로그램의 실행 시간 제한 설정을 늘려야 할 수 있습니다.

1 단계) IIS 서버 관리자를 엽니 다 (일반적으로 시작 메뉴의 서버 관리자 아래 에있는 도구 / 인터넷 정보 서비스 (IIS) 관리자 ).

2 단계) 기본 연결을 클릭합니다 (특정 도메인에 국한되지 않음).

3 단계) IIS 섹션에서 FastCGI 설정을 찾습니다 (아래 참조).

여기에 이미지 설명 입력

4 단계) 거기에서 PHP 애플리케이션을 마우스 오른쪽 버튼으로 클릭하고 편집 …을 선택 합니다.

5 단계) 제한 시간을 확인합니다 (아래 참조).

여기에 이미지 설명 입력

제 경우에는 기본 타임 아웃이 70 초와 90 초였습니다. 그 중 전자는 70 초 이상 걸리는 PHP 스크립트에서 500 내부 서버 오류 를 일으켰 습니다.


답변

오타가 있습니다 : ini_set ( ‘max_input_time’, ‘200M’)-값 세트는 ini_set ( ‘max_input_time’, ‘200’)과 같이 int 여야합니다.