>  기사  >  백엔드 개발  >  PHP에서 \'최대 실행 시간 초과\' 치명적인 오류를 적절하게 처리하는 방법은 무엇입니까?

PHP에서 \'최대 실행 시간 초과\' 치명적인 오류를 적절하게 처리하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-28 20:19:02554검색

How to Gracefully Handle the

치명적 오류 처리: PHP에서 최대 실행 시간 초과

PHP 개발 영역에서 두려운 "치명적 오류"를 우연히 발견할 수 있습니다. : 최대 실행 시간인 30초를 초과했습니다." 이 오류는 스크립트가 서버에서 설정한 시간 제한(기본적으로 일반적으로 30초)을 초과할 때 발생합니다.

시간 제한을 늘리는 것이 간단한 해결책처럼 보일 수 있지만 항상 실용적인 것은 아닙니다. 게다가 이 오류는 치명적이기 때문에 예외를 통해 포착하는 것이 불가능합니다. 그러나 이를 정상적으로 가로채는 대체 접근 방식이 있습니다.

PHP의 error_get_last() 함수를 사용하면 마지막으로 발생한 오류를 검색할 수 있습니다. 이것을 Register_shutdown_function()과 결합하면 프로그램 종료 시 오류를 처리하도록 콜백을 설정할 수 있습니다. 예는 다음과 같습니다.

<code class="php">function shutdown()
{
    $error = error_get_last();
    if ($error === null) {
        echo "No errors";
    } else {
        print_r($error);
    }
}

register_shutdown_function('shutdown');
ini_set('max_execution_time', 1); // Setting a low time limit for demonstration purposes
sleep(3);</code>

register_shutdown_function('shutdown')을 호출하면 스크립트 실행 또는 종료 후에 shutdown() 함수가 실행됩니다. 이 핸들러에서 error_get_last()는 최신 오류를 검색하고 인쇄하여 문제를 적절하게 기록하거나 처리할 수 있는 기능을 제공합니다.

자세한 정보와 대안은 다음 리소스를 참조하세요.

  • [PHP 설명서: 오류 처리기 설정](https://www.php.net/manual/en/function.set-error-handler.php#106061)
  • [PHP 설명서: 종료 기능 등록](https://www.php.net/manual/en/function.register-shutdown-function.php)

위 내용은 PHP에서 \'최대 실행 시간 초과\' 치명적인 오류를 적절하게 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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