두 가지 방법으로 함수 의 부울 출력을 수정할 수 있습니다 wp_is_fatal_error_handler_enabled()
.
일정한
파일 내 에서 WP_DISABLE_FATAL_ERROR_HANDLER
상수를 설정 하십시오.true
wp-config.php
/**
* Disable the fatal error handler.
*/
const WP_DISABLE_FATAL_ERROR_HANDLER = true;
또는
define( 'WP_DISABLE_FATAL_ERROR_HANDLER', true );
필터
wp_fatal_error_handler_enabled
부울 필터 사용 :
/**
* Disable the fatal error handler.
*/
add_filter( 'wp_fatal_error_handler_enabled', '__return_false' );
노트
티켓 # 44458 참조
wp_fatal_error_handler_enabled
필터는 값보다 우선 WP_DISABLE_FATAL_ERROR_HANDLER
상수.
또한 상수의 발생 가능한 부울 혼란을 조심 불가능 하지만 필터가 가능 .
필자의 테스트에서 필수 플러그인 으로 필터 접근 방식 이 예상대로 작동하지 않으므로 대신 상수를 사용하고 있습니다. 잘만되면 나는 이것을 더 조사 할 수있다.
필요에 따라 클래스 를 재정의하기 위해 사용자 정의 드롭 인 파일 fatal-error-handler.php
을 wp-content
디렉토리 ( src )에 추가 할 수도 있습니다 WP_Fatal_Error_Handler
. 다른 클래스 이름을 사용해야하며 handle()
메소드를 등록 된 종료 함수 로 정의해야합니다 .
이를 비활성화하는 간단한 예는 기본 오류 처리기 클래스를 아무 것도 수행하지 않는 사용자 지정 클래스로 재정의하는 것입니다.
<?php
class WPSE_Fatal_Error_Handler {
public function handle() {}
}
return new WPSE_Fatal_Error_Handler;
PHP 7+의 익명 클래스도 작동하는 것 같습니다.
<?php
return new Class(){
public function handle() {}
};
WP_Fatal_Error_Handler
필요한 경우 기본 클래스를 확장 할 수도 있습니다 .
그런 다음 WP_SANDBOX_SCRAPING
상수가 있습니다. # 46045 참조
설정 WP_DEBUG
사실로하는 것입니다 하지 WSOD 보호를 해제합니다. 이것은 의도적으로 설계된 동작입니다. # 46825 참조