Support » Networking WordPress » Wrong plugin paths with WordPress Multisite on Windows

  • I’m working on a project where a WordPress network needs to be installed on a Windows box 🙁

    It’s the first time that I’m getting an error like this:

    Warning: is_readable() [function.is-readable]: open_basedir restriction in effect.
    File(D:\xampp\apache\htdocs/wp-content/plugins/D:\xampp\apache\htdocs/wp-content/plugins/wordpress-importer/wordpress-importer-en_US.mo)
    is not within the allowed path(s): (D:\xampp\apache\htdocs\wp-content\plugins\;D:\xampp\apache\htdocs;
    D:\xampp\tmp;d:\xampp\php;D:\xampp\phpmyadmin) in D:\xampp\apache\htdocs\wp-includes\l10n.php on line 334

    Apache got the path for the plugin wrong (the bold part). Is there any way I can fix this?

    I did a test on the same server and verified that this problem doesn’t occur if it’s a regular install. The problem only exists for multisite installs.

    I’m running multisite network on WP 3.2 development version (32-beta1-17999).

Viewing 13 replies - 1 through 13 (of 13 total)
  • Moderator Ipstenu (Mika Epstein)

    (@ipstenu)

    🏳️‍🌈 Plugin Review Team Rep

    What version of IIS are you running?

    Whoops, I forgot that bit. It’s actually running Apache via XAMPP. Here’s the phpinfo output: http://etpblog.pemandu.gov.my/phpinfo.php

    Moderator Ipstenu (Mika Epstein)

    (@ipstenu)

    🏳️‍🌈 Plugin Review Team Rep

    Did you test on a 3.1.2 Multisite install? I want to rule out the 3.2 changes (which there are many).

    Yes, I tested with a WP3.1.1 multisite install too. Same results:

    Regular 3.1.2 / 3.2b install = no problems
    Multisite 3.1.2 / 3.2b install = WordPress get’s the paths wrong

    Appreciate your time and advice ipstenu 🙂

    Moderator Ipstenu (Mika Epstein)

    (@ipstenu)

    🏳️‍🌈 Plugin Review Team Rep

    Did you update your .htaccess correctly?

    Does it fail on both subdomain AND subfolder or just one?

    Yes, I think my .htaccess is correct.

    I only tested it on subfolder installs, I don’t need subdomain for this. In any case, I don’t have access to the virtual hosts so I can’t do subdomains on this windows box.

    Moderator Ipstenu (Mika Epstein)

    (@ipstenu)

    🏳️‍🌈 Plugin Review Team Rep

    Does the rest of the site work okay? Or are you getting a css-less page?

    I’m thinking the .htaccess isn’t being parsed correctly.

    Spot check it against http://codex.wordpress.org/Create_A_Network#.htaccess_and_Mod_Rewrite

    I do see mod_rewrite is on, but allowoverride may not be set to “all” in your httpd.conf

    The rest of the site works ok. I only get the errors on certain pages. Also, most of the errors are paths leading to .mo files, mainly on the Installed Plugins pages. Other pages which the error appears on are certain plugin settings pages.

    I’m not sure how .htaccess could have anything to do with it. Here are the contents of my .htaccess file:

    DirectoryIndex index.php
    
    # BEGIN WordPress
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    
    # uploaded files
    RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]
    
    # add a trailing slash to /wp-admin
    RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
    
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ - [L]
    RewriteRule  ^[_0-9a-zA-Z-]+/(wp-(content|admin|includes).*) $1 [L]
    RewriteRule  ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]
    RewriteRule . index.php [L]
    # END WordPress
    
    Moderator Ipstenu (Mika Epstein)

    (@ipstenu)

    🏳️‍🌈 Plugin Review Team Rep

    The .htaccess parses domain.com/subsite/wp-content/whatever to domain.com/wp-content/whatever so in THAT it could do something weird.

    It looks like it’s putting in D:\xampp\apache\htdocs twice… You don’t have that in the wp-config.php file do you?

    Nope, I don’t. Here are the only additions to the wp-config.php file:

    // for Quick Cache
    define('WP_CACHE', true);
    
    // WordPress Multisite Network
    define( 'MULTISITE', true );
    define( 'SUBDOMAIN_INSTALL', false );
    $base = '/';
    define( 'DOMAIN_CURRENT_SITE', 'etpblog.pemandu.gov.my' );
    define( 'PATH_CURRENT_SITE', '/' );
    define( 'SITE_ID_CURRENT_SITE', 1 );
    define( 'BLOG_ID_CURRENT_SITE', 1 );
    
    // Network-wide Akismet
    define('WPCOM_API_KEY','xxxxxxxxxx');
    

    Other than that it’s the standard wp-config.php. Could the $base and PATH_CURRENT_SITE above be confusing WordPress?

    I’m starting to think it’s a multisite bug..

    Moderator Ipstenu (Mika Epstein)

    (@ipstenu)

    🏳️‍🌈 Plugin Review Team Rep

    More likely it’s a ‘your setup and Multisite’ bug (given how many people use it and this is the first I’ve seen this error… The odds are against you 😉 )

    OH! Is PHP SafeMode on?

    open_basedir is set and that’s used by safemode.

    In fact, it’s got D:\xampp\apache\htdocs\wp-content\plugins\;D:\xampp\apache\htdocs;D:\xampp\tmp;d:\xampp\php;D:\xampp\phpmyadmin which is odd… why would it have plugins in there?

    You’re right, it’s like the perfect storm.

    I think safe_mode is on, though the phpinfo says otherwise. Then again I don’t really know how to read it properly.

    All my files are contained in D:/xampp/apache/htdocs which is the correct place to be right?

    Moderator Ipstenu (Mika Epstein)

    (@ipstenu)

    🏳️‍🌈 Plugin Review Team Rep

    I often use the perfect storm explanation 😉 Also with a ‘your server is a pretty, individual, snowflake.’

    Check your php.ini and make sure it’s off. I believe the files are in the right place, though I don’t know why open_basedir has D:\xampp\apache\htdocs\wp-content\plugins\; in the front.

Viewing 13 replies - 1 through 13 (of 13 total)
  • The topic ‘Wrong plugin paths with WordPress Multisite on Windows’ is closed to new replies.