WordPress升级后出现REST API PHP致命错误如何排查修复
问题诱因
该报错和Redirection插件无直接关联,插件调用REST API的操作只是错误触发的时机,核心诱因是WordPress版本升级过程异常导致核心文件残缺:
- 报错提示缺失的
WP_REST_Block_Patterns_Controller类,对应核心文件路径为wp-includes/rest-api/endpoints/class-wp-rest-block-patterns-controller.php,你仅核查了wp-includes/rest-api.php文件存在,未校验该类的实际定义文件是否存在、内容是否完整 - 升级过程中网络中断、服务器磁盘空间不足、文件权限限制、升级包解压异常,都会导致部分核心文件漏传/损坏,REST API初始化加载类时找不到对应定义就会抛出致命错误
- 少数情况是PHP的opcache残留了旧版本的缓存文件、自定义代码错误移除了该类的注册加载逻辑,也会触发同类报错
修复方案
按以下优先级操作排查修复:
- 校验补全核心文件
进入服务器站点目录下的wp-includes/rest-api/endpoints/路径,检查是否存在class-wp-rest-block-patterns-controller.php文件,确认文件不是0字节损坏状态。如果文件缺失/损坏,下载与你当前站点WordPress版本号完全一致的官方安装包,解压后将对应文件上传覆盖;也可以直接全量覆盖wp-includes、wp-admin两个核心目录,注意不要覆盖wp-content目录与根目录的wp-config.php配置文件,该操作不会丢失站点内容与配置 - 清理缓存验证
覆盖文件后若仍报错,重启PHP服务清空opcache缓存,同时清空站点的页面缓存、对象缓存。可以先临时禁用所有插件、切换到WordPress默认主题测试REST API是否恢复,恢复后再逐个启用插件确认是否存在额外冲突 - 校验文件权限
检查核心目录文件权限,确保PHP运行进程对WordPress核心文件有读取权限,排除文件存在但无法正常加载的问题
报错日志参考:
PHP Fatal error: Uncaught Error: Class 'WP_REST_Block_Patterns_Controller' not found in /home/casinotructuyen/public_html/wp-includes/rest-api.php:341
内容的提问来源于stack exchange,提问作者jaina
相关产品推荐
相关产品推荐

