WordPress创建不良路径并被open_basedir阻止


Wordpress creates bad path and is blocked by open_basedir

我正在尝试将我的一些客户的站点迁移到我的新服务器,但在具有相同设置的 2 个站点上收到以下错误。

PHP 警告: is_readable((: open_basedir限制生效。 File(C:''Inetpub''vhosts''somedomain.com''httpdocs/http://www.somedomain.com/wp-content/plugins/knxdt-bookmarks-wordpress-plugin/lang/knxdt_bookmarks-en_US.mo( 不在允许的路径内: (;C:/Inetpub/vhosts/somedomain.com'';C:''Windows''Temp'';C:''Inetpub''vhosts''somedomain.com''httpdocs'';) in C:''Inetpub''vhosts''somedomain.com''httpdocs''wp-include''l10n.php 339路

从我认为是Wordpress的路径中可以看出,那里有问题(... ''httpdocs/http://www.somedomain ...(。为什么路径是这样的组合?这是一个php,plesk还是wordpress问题?

我已经使用 Plesk 管理员将open_basedir设置为无,两个站点都像魅力一样工作。

我的设置旧服务器: 视窗 2008 普列斯克 9 PHP 版本 5.2.13

新服务器 视窗 2012 Plesk 11(撰写本文时的最新内容( PHP 版本 5.4

谢谢

这可能是插件中的一个错误,这里是 NextGen 库中的错误示例

我在函数 load_plugin_textdomain 的第 565 行的文件 l10n 中.php进行了通用的脏修复:

    .... 
if ( false !== $plugin_rel_path ) {
    $plugin_rel_path = preg_replace('/(^.+plugins)/', '', $plugin_rel_path); # this line added
    $path = WP_PLUGIN_DIR . '/' . trim( $plugin_rel_path, '/' );
} else if
    ...