>  기사  >  백엔드 개발  >  PHP에서 시간 초과를 변경하는 방법

PHP에서 시간 초과를 변경하는 방법

PHPz
PHPz원래의
2023-04-03 15:14:501677검색

비즈니스 개발 및 웹 사이트 트래픽이 증가함에 따라 시간이 오래 걸리는 PHP 스크립트를 실행해야 하는 경우가 많습니다. 그러나 PHP의 기본 시간 제한은 30초에 불과해 비즈니스 요구 사항을 충족시키기에는 거리가 멀습니다. 이 문제를 해결하려면 PHP의 타임아웃 기간을 수정해야 합니다.

다음은 PHP 시간 초과를 변경하는 몇 가지 방법입니다.

php.ini 수정

이것은 가장 일반적인 방법으로, php.ini 파일의 max_execution_time 매개변수를 수정하여 PHP 시간 초과를 변경할 수 있습니다. php.ini 파일에서 다음 내용을 찾으세요.

; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 30

max_execution_time 매개변수를 30초보다 큰 값으로 변경하세요.

php.ini 파일을 수정해도 작동하지 않으면 현재 PHP에서 어떤 php.ini 파일을 사용하고 있는지 확인해야 한다는 점을 언급할 가치가 있습니다. 이는 phpinfo() 함수를 사용하여 PHP 코드에서 볼 수 있습니다.

코드에서 set_time_limit() 사용

set_time_limit() 함수는 스크립트 실행의 최대 시간을 변경하는 데 사용할 수 있는 PHP에 내장된 함수입니다. 예를 들어 코드 시작 부분에 다음 코드를 추가합니다.

set_time_limit(600);

PHP 스크립트의 최대 실행 시간은 600초, 즉 10분으로 설정됩니다.

매개변수를 0으로 전달하면 실행 제한 시간이 해제되어 스크립트를 계속 실행할 수 있다는 뜻이니 참고하세요.

Apache에 설정

PHP가 Apache 모듈로 실행되는 경우 .htaccess 파일에서 php_value를 수정하여 PHP 시간 초과를 변경할 수 있습니다.

.htaccess 파일에 다음 코드를 추가하세요.

php_value max_execution_time 600

이 시점에서 PHP의 최대 실행 시간은 600초, 즉 10분으로 설정됩니다.

Nginx 또는 FastCGI로 설정

Nginx 또는 FastCGI를 사용하는 경우 구성 파일에 다음 코드를 추가할 수 있습니다.

fastcgi_read_timeout 600;

이때 PHP의 최대 실행 시간은 600초로 설정됩니다. 10분 .

PHP-FPM에 설정

PHP-FPM을 사용하는 경우 php-fpm.conf 또는 www.conf 파일을 수정하여 PHP 시간 초과를 설정할 수 있습니다. php-fpm.conf 파일을 예로 들어보겠습니다.

다음 내용을 찾으세요.

; Process timeouts in seconds. Negative values disable timeouts.
; Default Value:
;     process.timeout = 0s
process.timeout = 30s

process.timeout 매개변수를 30초보다 큰 값으로 변경하세요.

요약

위는 PHP 시간 초과를 변경하는 방법입니다. 다양한 환경과 용도에 따라 다양한 방법을 선택하여 PHP 시간 초과를 수정하세요. 또한 웹사이트의 성능과 안정성을 향상시키기 위해 PHP 메모리 제한(memory_limit), Apache 또는 Nginx 서버 요청 응답 시간과 같은 매개변수 조정에도 주의를 기울여야 합니다.

위 내용은 PHP에서 시간 초과를 변경하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.