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

WordPress后台出现open_basedir限制报错,主机禁关权限求解决

解决WordPress因open_basedir限制引发的file_exists报错

临时代码修复

找到站点目录下的wp-includes/blocks.php文件,定位到532行的file_exists('core/post-comments')代码,把它替换成绝对路径写法:

file_exists(wp_normalize_path(WPINC . '/blocks/core/post-comments'))

WPINC是WordPress内置常量,会自动指向wp-includes目录,wp_normalize_path能统一路径分隔符,避免跨系统问题。
注意:WordPress版本更新后,这个修改会被覆盖,需要重新操作,更推荐下面的永久方案。

永久修复:用MU插件解决

  1. 进入wp-content目录,若没有mu-plugins文件夹就新建一个
  2. 在mu-plugins里创建fix-blocks-open-basedir.php文件,写入以下代码:
<?php
/*
Plugin Name: Fix Blocks Open Basedir Error
*/

add_filter('pre_block_file_exists', function($exists, $path) {
    if ($path === 'core/post-comments') {
        $full_path = wp_normalize_path(WPINC . '/blocks/' . $path);
        return file_exists($full_path);
    }
    return $exists;
}, 10, 2);

MU插件会自动激活,无需手动开启,它会在原代码执行路径检查前,把相对路径转换成符合open_basedir要求的绝对路径,彻底解决报错。

替代方案:禁用评论区块(如果不需要)

如果你的站点用不到core/post-comments区块,可以直接禁用它,从根源上取消这个路径检查:
在主题的functions.php文件末尾添加这段代码:

add_action('init', function() {
    unregister_block_type('core/post-comments');
});

额外排查点

  • 检查WordPress版本,更新到最新稳定版,旧版本可能存在路径解析的bug,更新后可能自动修复
  • 确认wp-includes/blocks/core/post-comments目录是否存在,若缺失,从官方WordPress安装包中复制对应目录补全

内容的提问来源于stack exchange,提问作者Kristýna Kořínková

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 13:41:42