0

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

PHP 警告:is_readable():open_basedir 限制生效。文件(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\;) 在 C:\Inetpub\ vhosts\somedomain.com\httpdocs\wp-includes\l10n.php 在第 339 行

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

我已经使用 Plesk admin 将 open_basedir 设置为 none,这两个站点都像魅力一样工作。

我的设置旧服务器:Windows 2008 Plesk 9 PHP 版本 5.2.13

新服务器 Windows 2012 Plesk 11(撰写本文时最新)PHP 版本 5.4

谢谢

4

1 回答 1

0

这可能是插件中的错误,这里是NextGen Gallery 中的错误示例

我在函数 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
    ... 
于 2013-10-25T02:18:26.300 回答