Hi,
I've been trying for hours to sort out this issue and I just cannot get beyond it. So I'm getting this warning error constantly for weeks (if not months) and having just upgraded to the latest version from the previous version, it's not gone away:
PHP Warning: file_exists(): open_basedir restriction in effect. File(/*****/*****/*****/subdomain.domain.com) is not within the allowed path(s): (/*****/*****/*****/subdomain.domain.com/public_shtml:/*****/*****/tmp) in /*****/*****/*****/subdomain.domain.com/public_shtml/include/class.plugin.php on line 302, referer: https://subdomain.domain.com/pages/info
This happens multiple times when I load the page, different numbers of times on various pages.
In class.plugin.php this where line 302 is throwing the error:
299 if (!isset(static::$plugin_info[$install_path])) {
300 // plugin.php is require to return an array of informaiton about
301 // the plugin.
302 if (!file_exists($path . '/plugin.php'))
303 return false;
304 $info = array_merge($defaults, (@include $path . '/plugin.php'));
305 $info['install_path'] = $install_path;
306
307 // XXX: Ensure 'id' key isset
308 static::$plugin_info[$install_path] = $info;
309 }
The actual error message is reporting a path above the "../public_shtml" directory with no filename as the error. I tried placing
error_log($path . '/plugin.php', 0);
on the line before 302 and I get this output:
@phar:///*****/*****/*****/subdomain.domain.com/public_shtml/include/plugins/storage-fs.phar/plugin.php
So I'm wondering whether this is something to do with the phar access? I've ensured that PHP is returning a path within the open_basedir paths by checking the output of sys_get_temp_dir() and upload and other temp folders all show as correctly set and within the scope they should be.
I really am stumped - can anyone help?