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



Reply via email to