2010-01-08 7 views
2

누구든지 파일을 포함 시키려고 할 때 "최대 실행 시간"오류가 많이 발생하는 PHP 5.2.12에 문제가 있습니까?php 5.2.12 include()를 사용할 때 최대 실행 시간

php.net에서 버그를 찾지 못했지만 수많은 스크립트에서 일관되게 오류가 발생했습니다.

누구나 솔루션을 추천 할 수 있습니까?

동일한 스크립트는 PHP 5.2의 몇 가지 다른 서버에서 아무 문제없이 실행됩니다. 그래서 여러분에게 스크립트 문제가 아니라는 것을 알리십시오.

+2

틀 렸습니까? 함수를 정의하는 대신에 즉각적인 모드로 긴 작업을 수행하지 않는다고합니까? –

답변

3

이것은 특정 버전의 PHP가 아닌 코드의 문제가 될 가능성이 훨씬 큽니다. PHP는 기본적으로 최대 실행 시간이 30 초이며, set_time_limit()을 호출하거나 php.ini 설정을 수정하여 수정할 수 있습니다.

오랜 시간이 걸릴 것으로 예상되는 작업을 수행하지 않으면 일반적으로이 오류의 원인은 코드 어딘가에있는 무한 루프입니다. debug_print_backtrace()과 몇 가지 핵심 위치로 exit() 전화를 걸고 어떤 파일이 슬픔을주고 있는지 파악한 다음 거기에서 자세히 살펴 봅니다. 아마도 무한한 include() 계층 구조에 머물러있어 모든 클래스 및 함수 라이브러리 파일에 include_once()을 사용해야합니다.

1

동일한 포함이 요청 된 시간과 시간을 다시 얻지 못하고 있는지 확인해야합니다. include_once()을 시도해 볼 수 있습니다. 임시 해결책이 될 수있는 해결책은 아닙니다. 실제로 그것이 계속해서 반복적으로 호출되는 경우 이것을 유발하는 원인을 찾아야합니다.

0

xdebug 설정과 디버깅을 지원하는 IDE가 있으면 코드를 파헤치는 데 좋은 방법입니다. 그렇지 않으면 포함 된 파일의 첫 번째 줄과 PROIR 줄에 include 문을 호출하는 일부 출력 문을 넣을 수 있습니까? 무슨 일이 벌어지고 있는지보세요 ...

관련 문제