沙唐桔

WordPress 开启 WP_DEBUG 情况下禁用 PHP NOTICE 提示

WordPress 开启 WP_DEBUG 情况下,不能使用常规方法禁用 PHP NOTICE 提示。

禁用 PHP NOTICE 提示方法

1、如有权限可以修改 php.ini 配置文件,将文件中 error_reporting 值改为:

error_reporting = E_ALL & ~E_NOTICE

然后重启一下 php 即可。

2、如果不能操作 php.ini 文件,可以在需要禁用 PHP NOTICE 提示的页面中加入下面代码:

<?php error_reporting(E_ALL^E_NOTICE); ?>

非常规方法

如果开启了 WP_DEBUG,上面的方法无效(WordPress 4.9.4 + PHP 7.2.3 亲测)。查看 wp_debug_mode() 代码会恍然大悟。

这时候需要用到 WordPress Must Use Plugins(mu-plugins),方法:

1、在 wp-content 目录下新建 mu-plugins 目录
2、新建 php 文件,名字如:disable_php_notice.php,内容如下:(可以根据需要修改)

<?php error_reporting(E_ALL ^ E_NOTICE);

3、disable_php_notice.php 文件上传至上面新建的 mu-plugins 目录即可。

附:PHP 错误和日志记录-预定义常量

参考链接

1、HOW TO REMOVE ERROR NOTICES USING WORDPRESS’S WP_DEBUG

2、How can I stop PHP notices from appearing in wordpress? - Stack Overflow