0
votes

I'm trying to migrate some of my clients' sites to my new server and I get the following error on 2 sites that have the same setup.

PHP Warning: is_readable(): open_basedir restriction in effect. File(C:\Inetpub\vhosts\somedomain.com\httpdocs/http://www.somedomain.com/wp-content/plugins/knxdt-bookmarks-wordpress-plugin/lang/knxdt_bookmarks-en_US.mo) is not within the allowed path(s): (;C:/Inetpub/vhosts/somedomain.com\;C:\Windows\Temp\;C:\Inetpub\vhosts\somedomain.com\httpdocs\;) in C:\Inetpub\vhosts\somedomain.com\httpdocs\wp-includes\l10n.php on line 339

As can be seen in the path passed by what I assume to be Wordpress, there's something wrong there (... \httpdocs/http://www.somedomain ...). Why is the path combined like that ? Is this a php, plesk or wordpress problem ?

I've put open_basedir to none using Plesk admin and both sites work like a charm.

My setup Old server: Windows 2008 Plesk 9 PHP Version 5.2.13

New server Windows 2012 Plesk 11 (latest at time of writing) PHP Version 5.4

Thanks

1
Not really as his is a linux question and mine is Windows. His is only about open_basedir and mine is more a question about the path that is used by open_basedir (...\httpdocs/http://...). Where it comes from and especially why is there a physical path combined with a web addressCharles Verrette

1 Answers

0
votes

It's a maybe a bug in plugin, here the example of bug in NextGen Gallery

I've make an universal dirty fix in file l10n.php on line 565 in function load_plugin_textdomain:

    .... 
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
    ...