치명적인 오류 : 최대 실행 시간이 30 초를 초과했습니다


397

온라인 소스에서 JSON 파일을 다운로드하고 루프를 통해 실행될 때이 오류가 발생합니다.

치명적인 오류 : 24 행의 C : \ wamp \ www \ temp \ fetch.php에서 최대 실행 시간이 30 초를 초과했습니다.


11
가능한 최대 복제 시간 60 초를 초과했습니다 . 이미 다른 세 개의 복제본입니다. 문의하기 전에 검색 기능을 사용하십시오.
— Gordon

"set_time_limit () 함수 및 구성 지시문 max_execution_time은 스크립트 자체의 실행 시간에만 영향을줍니다. system ()을 사용한 시스템 호출, 스트림 조작, 데이터베이스 쿼리 등과 같은 스크립트 실행 외부에서 발생하는 활동에 소요 된 시간 .는 스크립트가 실행 된 최대 시간을 결정할 때 포함되지 않습니다. Windows에서는 그렇지 않습니다 "PHP 문서에서
— Jacob Sánchez

답변:


722

루프가 끝이 없을 수도 있습니다. 그렇지 않은 경우 다음과 같이 최대 실행 시간을 연장 할 수 있습니다.

ini_set('max_execution_time', 300); //300 seconds = 5 minutes

과

set_time_limit(300);

시간 제한을 일시적으로 연장하는 데 사용할 수 있습니다.


95
set_time_limit (300)을 사용하여 시간 제한을 일시적으로 연장 할 수 있습니다.
— Omn

이 스크립트는 하나의 스크립트에만 설정되어 있습니까? 아니면 동일한 서버에서이 스크립트 이후에 실행 된 다른 모든 스크립트에 영향을 줍니까?
— Rao

1
@Rao 그렇습니다. 이것은 하나의 스크립트에만 해당됩니다. 모든 스크립트에 적용하려면 php.ini 파일에서 변경해야합니다. set_time_limit (0)을 수행 할 수도 있습니다. 스크립트를 영원히 또는 오랫동안 실행하려면
— Haseeb

31
ini_set ( 'max_execution_time', 0); // 제한 없음
— Junaid Atari

3
@sangam 특정 양의 여분의 버퍼를 허용 하면서이 한계를 가능한 한 낮게 유지하는 것이 가장 좋습니다. 보안상의 이유로 완전히 끄고 싶지 않습니다. 합리적으로 설정해야합니다. 실제로 가장 긴 실행 스크립트가 중간 수준의 서버 스트레스 수준에서 완료하는 데 걸리는 시간의 두 배로 설정했습니다. 여전히 항상 실패 할 수 있습니다. 따라서 시간이 많이 걸리는 스크립트에 대한 시간 초과 문제를 개별적으로 처리하는 것이 가장 좋습니다.
— Hafenkranich
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.