You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP 8.3.6下WordPress多站点迁移后出现wp_kses()未定义错误求助

WordPress多站点PHP版本迁移后wp_kses()未定义致命错误排查

错误详情

将WordPress多站点从PHP 7.4迁移至PHP 8.3.6后,触发如下致命错误:

Fatal error: Uncaught Error: Call to undefined function wp_kses() in /home/devnote/www/wp-includes/functions.php:6073 
Stack trace:
#0 /home/devnote/www/wp-includes/functions.php(5554): wp_trigger_error()
#1 /home/devnote/www/wp-includes/class-wpdb.php(1333): _deprecated_function()
#2 /home/devnote/www/wp-content/sunrise.php(11): wpdb->escape()
#3 /home/devnote/www/wp-includes/ms-settings.php(47): include_once('...')
#4 /home/devnote/www/wp-settings.php(155): require('...')
#5 /home/devnote/www/wp-config.php(107): require_once('...')
#6 /home/devnote/www/wp-load.php(50): require_once('...')
#7 /home/devnote/www/wp-blog-header.php(13): require_once('...')
#8 /home/devnote/www/index.php(17): require('...')
#9 {main} thrown in /home/devnote/www/wp-includes/functions.php on line 6073

升级至WordPress 6.7.1(最新版)后,错误行号更新,错误信息变为:

Fatal error: Uncaught Error: Call to undefined function wp_kses() in /home/devnote/www/wp-includes/functions.php:6098 Stack trace: 
#0 /home/devnote/www/wp-includes/functions.php(5579): wp_trigger_error()
#1 /home/devnote/www/wp-includes/class-wpdb.php(1333): _deprecated_function()
#2 /home/devnote/www/wp-content/sunrise.php(11): wpdb->escape()
#3 /home/devnote/www/wp-includes/ms-settings.php(47): include_once('...')
#4 /home/devnote/www/wp-settings.php(156): require('...')
#5 /home/devnote/www/wp-config.php(107): require_once('...')
#6 /home/devnote/www/wp-load.php(50): require_once('...')
#7 /home/devnote/www/wp-blog-header.php(13): require_once('...')
#8 /home/devnote/www/index.php(17): require('...')
#9 {main} thrown in /home/devnote/www/wp-includes/functions.php on line 6098    

关联代码片段

错误触发的/wp-includes/functions.php相关代码:

$message = wp_kses(
    $message,
    array(
            'a'      => array( 'href' => true ),
            'br'     => array(),
            'code'   => array(),
            'em'     => array(),
            'strong' => array(),
    ),
    array( 'http', 'https' )
);

已执行的排查动作

  • 禁用所有插件
  • 更换默认主题
  • 升级WordPress至最新版6.7.1
    以上操作均未解决问题。

多站点管理面板截图

多站点管理面板截图

可能的原因分析

  • Sunrise.php加载顺序冲突:从调用栈可见,错误起源于sunrise.php第11行调用已废弃的wpdb->escape()方法,触发废弃提示时,wp_kses()所在的kses.php核心文件尚未完成加载。PHP 8.x对错误处理的 stricter 特性放大了这个加载顺序问题,PHP 7.4环境下该问题可能未被触发或被忽略。
  • 核心文件缺失/损坏:尽管已升级至WP 6.7.1,但wp-includes/kses.php文件可能未正确上传、存在损坏,导致wp_kses()函数未被定义。需重新校验WordPress核心文件完整性。
  • 自定义Sunrise.php兼容性问题:sunrise.php通常用于多站点域名映射等高级配置,若该文件为自定义或旧版本遗留,可能在PHP 8.x环境下与核心加载逻辑冲突。可临时重命名该文件,观察错误是否消失。
  • PHP配置干扰:PHP 8.3.6的auto_prepend_file等配置可能干扰WordPress核心文件加载流程,导致kses.php未被正确引入,需检查php.ini或.htaccess中的相关配置。

内容的提问来源于stack exchange,提问作者Dmitriano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 19:37:15