Re: open_basedir restriction and local value for php.ini
| From: | Niklas Lampén | Date: | Wed, 22 Sep 2004 10:21:42 +0000 |
| Subject: | Re: open_basedir restriction and local value for php.ini | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-197542@lists.php.net to get a copy of this message | ||
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.