Is the situation this: /home/a.php includes page /home/lib/b.php which includes /home/lib/c.php?
If I recall correctly, when you include a file in an included file, the script is run in the directory where a.php is located. So you need to include files based on that directory.
I recommend you to set in a.php variable $RootDir to '/home/' and to do all including based on that.
a.php: require($RootDir . 'lib/b.php'); b.php: require($RootDir . 'lib/c.php');
This assumes you never use b.php without including it from a.php. To avoid this assuming I use settings file in projects that has to be portable and include that file to every single page of the project.
Niklas
Bogdan Ribic wrote:
Hello all,
I am having problems with cleint's webserver and its open_basedir settings. open_basedir is set to folder where all my php files are, but when I include a file that already includes another one (all under allowed directory tree) it throws out warnings:
Warning: open_basedir restriction in effect. File is in wrong directory in /home/www/web14/html/lib/cmember.php on line 3
line 3 of cmember,php has:
require_once "lib.php"
both cmember and php are in lib directory.
phpinfo() says that local settings for open_basedir is /home/www/web14
and master settings is empty. It is an older php version, 4.2.2, on SuSe Linux.
So... is there anything I can do other than turning off local setting for open_basdir. And if there isn't, where do I turn off these settings, ie where do you set lolal php.ini values for particular sites?
Thanx in advance.
Boban.
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php