PHP의 치명적인 오류 (AJAX 요청 처리 용)가있는 경우 HTTP 상태 헤더를 500으로 설정하는 방법을 알아 내려고했습니다.PHP에서 HTTP 상태 헤더가 치명적인 오류, 코드 제안
관련 질문 : 내 생각에 우아한 해결책이 아니라 register_shutdown_function
을 사용하지 않으 How can I get php to return 500 upon encountering a fatal exception?
.
아래 코드는 좋은 해결책입니까?
치명적인 오류가 발생하더라도 항상 작동합니까?
echo
호출까지 응용 프로그램 코드에는 출력이없고 flush()
함수 (호출 후에는 헤더 수정을 막음)에 대한 호출이 없다고 가정합니다.
<?php
set_status_code(500);
// ...
// (application code with no output)
// Application didn't crash up to this point,
// so we set http status code 200.
set_status_code(200);
echo $outputBuffer;
은 원하는 동작을 중단시키는 유일한 기능입니까?
... 왜 치명적인 오류가 발생합니까? –
PHP (또는 PHP 웹 서버)가 자동으로 중단되면 Apache (또는 선택한 웹 서버)가 자동으로 500을 반환해야합니다. – deceze
'성공'과 '메시지'변수를 '500'을 찾는 것보다는 자바 스크립트로 반환하는 스타일을 선호합니다. – MrCode