我已经搜索和尝试了各种解决这个问题的方法,没有一个有效。
看起来WordPress忽略了以下内容并记录了已弃用的消息:
error_reporting(E_ALL ^ E_DEPRECATED);
ini_set('error_reporting', E_ALL ^ E_DEPRECATED);
字符串
我的php.ini文件:
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
型
我的wp-config.php:
<?php
define( 'WP_CACHE', true );
error_reporting(E_ALL ^ E_DEPRECATED);
...
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
型
插件正在向我的debug.log文件发送带有PHP Deprecated: ...
日志消息的垃圾邮件。每天生成几GB。使debug.log无法使用。
我向插件开发者报告,但有些插件没有及时修复。我不能自己修复,因为插件更新会覆盖我的更改。
禁用这些功能的解决方案是什么?
服务器:
- 在AWS Lightsail上运行Bitnami/WordPress(2GB 2 vcpu)
- Linux 5.10.0-25-云计算-amd 64 x86_64
- PHPver.8.2.10
1条答案
按热度按时间7vux5j2d1#
更新
我已经创建了一个WordPress plugin来添加,删除和控制从您的管理面板舒适的MU插件。
原文
无论您在
wp-config.php
中为error_reporting()
设置了什么,也无论php.ini
中有什么,它都会被function wp_debug_mode()
中的WordPress覆盖(在wp-settings.php
中调用wp-includes/load.php
),如下所示:字符串
当然,你可以在
wp-includes/load.php
内部将E_ALL
更改为E_ALL ^ E_DEPRECATED
,但这(最终)将被WordPress更新覆盖。另一个(持久)选项是使用
must use plugin
重置error_reporting
(再次)。然而,这不会静音WordPress核心导致的弃用警告。无论如何,如果wp-content/mu-plugins
不存在,请创建目录wp-content/mu-plugins
。在该目录中添加__error_reporting.php
,内容如下:型
必须使用的插件将按字母顺序加载在所有其他插件之前(因此前缀为
__
)。