Kita dapat memodifikasi output bool dari wp_is_fatal_error_handler_enabled()
fungsi dengan dua cara:
Konstan
Setel WP_DISABLE_FATAL_ERROR_HANDLER
konstanta ke true
dalam wp-config.php
file:
/**
* Disable the fatal error handler.
*/
const WP_DISABLE_FATAL_ERROR_HANDLER = true;
atau
define( 'WP_DISABLE_FATAL_ERROR_HANDLER', true );
Saring
Gunakan wp_fatal_error_handler_enabled
filter bool:
/**
* Disable the fatal error handler.
*/
add_filter( 'wp_fatal_error_handler_enabled', '__return_false' );
Catatan
Lihat tiket # 44458
The wp_fatal_error_handler_enabled
filter akan menimpa nilai WP_DISABLE_FATAL_ERROR_HANDLER
konstan.
Perhatikan juga kemungkinan bool kebingungan dengan penonaktifan yang konstan tetapi saringan diaktifkan .
Dalam pengujian saya pendekatan filter, sebagai plugin yang harus digunakan , tidak berfungsi seperti yang diharapkan, jadi saya menggunakan konstanta. Semoga saya bisa melihat lebih jauh.
Satu juga dapat menambahkan kustom drop-in berkas fatal-error-handler.php
ke wp-content
direktori ( src ), untuk menimpa WP_Fatal_Error_Handler
kelas yang diperlukan. Kita harus menggunakan nama kelas yang berbeda dan itu harus mendefinisikan handle()
metode sebagai fungsi shutdown terdaftar .
Contoh sederhana untuk menonaktifkannya adalah mengganti kelas penanganan kesalahan default dengan yang kustom yang tidak melakukan apa-apa:
<?php
class WPSE_Fatal_Error_Handler {
public function handle() {}
}
return new WPSE_Fatal_Error_Handler;
Kelas anonim di PHP 7+ tampaknya juga berfungsi:
<?php
return new Class(){
public function handle() {}
};
Itu juga bisa memperluas WP_Fatal_Error_Handler
kelas default jika diperlukan.
Lalu ada WP_SANDBOX_SCRAPING
konstanta. Lihat # 46045
Pengaturan yang WP_DEBUG
benar tidak akan menonaktifkan perlindungan WSOD. Ini dengan desain. Lihat # 46825