首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁用致命错误(WSOD)保护?

如何禁用致命错误(WSOD)保护?
EN

WordPress Development用户
提问于 2019-05-08 11:57:38
回答 1查看 6K关注 0票数 15

在WordPress 5.1和5.2中引入了致命错误处理。

它有时被称为死亡的白色屏幕(WSOD)保护。

在使用dev/local安装时,我们有时希望能够在需要时破坏站点,例如,在受保护的端点中工作时,要避免站点的电子邮件恢复过程(请参阅is_protected_endpoint()):

该网站正在经历技术上的困难。请检查您的网站管理电子邮件收件箱的指示。

如何禁用致命错误处理?

EN

回答 1

WordPress Development用户

回答已采纳

发布于 2019-05-08 11:57:38

我们可以通过两种方式修改wp_is_fatal_error_handler_enabled()函数的bool输出:

常数

WP_DISABLE_FATAL_ERROR_HANDLER常量设置为true文件中的wp-config.php文件:

代码语言:javascript
复制
/**
 * Disable the fatal error handler.
 */
const WP_DISABLE_FATAL_ERROR_HANDLER = true; 

代码语言:javascript
复制
define( 'WP_DISABLE_FATAL_ERROR_HANDLER', true );

滤波器

使用wp_fatal_error_handler_enabled bool过滤器:

代码语言:javascript
复制
/**
 * 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常量的值。

此外,注意可能的bool混淆与不断禁用,但过滤器启用。

在我的测试中,过滤器方法,作为一个必须使用的插件,并不像预期的那样工作,所以我用常量代替。希望我能进一步调查。

还可以在wp-content目录(src)中添加一个自定义下拉文件文件,以便根据需要覆盖WP_Fatal_Error_Handler类。我们必须使用不同的类名,它必须将handle()方法定义为注册关机功能

禁用它的一个简单示例是使用自定义错误处理程序类覆盖默认的错误处理程序类,该类不执行任何操作:

代码语言:javascript
复制

PHP中的匿名类似乎也能工作:

代码语言:javascript
复制

如果需要,它还可以扩展默认的WP_Fatal_Error_Handler类。

然后是WP_SANDBOX_SCRAPING常数。请参阅#46045

将WP_DEBUG设置为true将not禁用WSOD保护。这是故意的。请参阅#46825

票数 21
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/337391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档