중단을 최소화하면서 PHP에서 \'허용된 메모리 크기 소진\' 오류를 처리하는 방법

Patricia Arquette
풀어 주다: 2024-10-24 11:48:29
원래의
326명이 탐색했습니다.

How to Handle 'Allowed Memory Size Exhausted' Errors in PHP with Minimal Disruption

PHP에서 '허용된 메모리 크기 소진' 오류 처리

JSON 응답을 반환하는 스크립트로 작업할 때 '허용된 메모리 크기 소진' 오류가 발생할 수 있습니다. . 메모리 한도 증가를 방지하려면 요청이 메모리 임계값을 초과했음을 사용자에게 알리는 것이 좋습니다.

치명적인 오류 잡기

PHP에서는 다음과 같은 치명적인 오류를 직접 잡을 수 없습니다. 메모리 크기가 고갈되었습니다. 하지만,register_shutdown_function을 사용하면 error_get_last()를 확인하는 콜백을 등록할 수 있습니다.

<code class="php">register_shutdown_function(function() {
    $error = error_get_last();
    if ($error) {
        echo 'An error occurred: ' . $error['message'];
    }
});</code>
로그인 후 복사

오류 출력 관리

치명적인 오류로 인해 스크립트가 중단되는 것을 방지하려면 문제가 있는 코드에 의해 생성된 출력입니다. @ 연산자를 사용하거나(권장하지 않음) ini_set('display_errors', false)를 설정할 수 있습니다.

<code class="php">ini_set('display_errors', false);
error_reporting(-1);

set_error_handler(function($code, $string, $file, $line){
    throw new ErrorException($string, null, $code, $file, $line);
});

register_shutdown_function(function() {
    $error = error_get_last();
    if ($error) {
        echo 'Memory limit exhausted. Please try reissuing the request with different parameters.';
    }
});</code>
로그인 후 복사

과도한 메모리 사용량으로 이 스크립트를 실행하면 다음과 같은 결과가 출력됩니다. 적절한 오류 메시지를 표시하여 사용자에게 메모리 소비를 줄이기 위해 조정하라고 알립니다.

고려 사항

다른 오류가 계속 표시되도록 하려면 error_reporting()을 높게 유지하세요. 치명적이지 않은 오류의 경우 오류 처리를 위해 set_error_handler() 및 ErrorException 사용을 고려하세요.

위 내용은 중단을 최소화하면서 PHP에서 \'허용된 메모리 크기 소진\' 오류를 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!