PHP 실행 시간이 30초 동안 초과되는 경우 오류를 해결하는 방법

小云云
풀어 주다: 2023-03-21 10:32:01
원래의
14237명이 탐색했습니다.
권장 매뉴얼: php 완전 자습 매뉴얼

크롤링 프로그램을 수행할 때 PHP는 오랫동안 비어 있고 다음과 같은 오류 메시지가 나타납니다.

Fatal error: Maximum execution time of 30 seconds exceeded in ......
로그인 후 복사

매우 간단합니다. 스크립트 실행 시간이 상한인 30초를 초과했습니다.

이 오류는 과거에 자주 발생했는데, 일반적으로 페이지 헤더에 set_time_limit(0)을 직접 추가하여 오늘은 이 오류를 처리하는 방법을 특별히 요약했습니다.

관련 정보를 참고한 후 PHP 입문 튜토리얼에서 학자들이 이 오류를 처리하는 방법은 기본적으로 세 가지가 있습니다.

(1) php 구성 파일 php.ini 파일 수정 (이 파일이 기본적으로 설치되어 있는 경우 /etc/ 아래에 있습니다.)

php.ini 파일을 찾은 후 다음 파일에서 찾습니다.

max_execution_time = 30 ;이 줄에서는 숫자 30을 원하는 값(초)으로 설정합니다.

(다음과 같이 직접 수정할 수도 있습니다: max_execution_time=0; // 제한 없음) 수정한 후에는 서버를 다시 시작해야 합니다.

예를 들어 Apache가 있는 경우 service httpd restart를 사용하세요

(2) ini_set() 함수를 사용하세요

php.ini를 수정할 수 없는 친구들은 ini_set() 함수를 사용하여 최대 실행 시간 제한 값은 프로그램 상단에 다음 코드를 추가합니다.

ini_set('max_execution_time','100');
로그인 후 복사

위 설정은 100초이며, 0으로 설정해도 실행 시간이 제한되지 않습니다.

(3) set_time_limit() 함수

를 사용하고 프로그램 상단에 set_time_limit(100);을 추가하면 최대 실행 시간이 100초로 설정될 수도 있습니다. 0으로 설정하면 위와 동일합니다.

set_time_limit 함수에 대한 특별 설명: void set_time_limit ( int $seconds ) 이 함수의 함수는 스크립트 실행에 허용되는 시간을 초 단위로 설정하는 것입니다.

이 설정을 초과하면 스크립트가 치명적인 오류를 반환합니다.

기본값은 30초이거나, 이 값이 존재하는 경우 php.ini의 max_execution_time에 정의된 값입니다. 이 함수가 호출되면 set_time_limit()는 시간 초과 카운터를 0에서 다시 시작합니다.

즉, 기본 시간 초과가 30초이고 스크립트가 25초 동안 실행되었을 때 set_time_limit(20)이 호출되면 시간 초과되기 전에 스크립트가 실행될 수 있는 총 시간은 45초입니다. 이 기능은 PHP가 안전 모드에서 실행 중인 경우에는 적용되지 않습니다.

안전 모드를 끄거나(php.ini에서 safe_mode를 꺼짐으로 설정) php.ini에서 시간 제한을 변경하는 것 외에는 다른 방법이 없습니다.

사례:

안전 모드가 켜지지 않은 경우 프로그램 실행 시간을 25초로 설정하세요.

예:

if(!ini_get('safe_mode')){
    set_time_limit(25);
}
로그인 후 복사
추천 관련 기사 :
1.PHP 시간 초과를 만드는 방법은 무엇입니까
2.PHP 요청 인터페이스 시간 초과 문제를 해결하는 방법
관련 동영상 추천:
1 .Dugu Jiujian (4)_PHP 동영상 튜토리얼

관련 추천:

외부 프로그램 구현의 PHP 실행 방법 ​​
외부 프로그램을 실행하는 PHP 구현 코드에 대한 자세한 설명 ​​
PHP 실행 효율성을 향상시키는 50가지 팁

위 내용은 PHP 실행 시간이 30초 동안 초과되는 경우 오류를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿