ID: 22220
Updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
-Status: Open
+Status: Feedback
Bug Type: Apache related
Operating System: FreeBSD 4.7-STABLE
PHP Version: 4.3.0
New Comment:
So this bug's summary should be:
"'php_admin_value open_basedir none' does not work"
???
Previous Comments:
------------------------------------------------------------------------
[2003-02-15 13:02:19] [EMAIL PROTECTED]
Actually, I added a comment to 19292 about my problem and it was
deleted as not being appropriate there.
I am not having trouble with random open_basedir errors, I'm having one
simple problem.
I have a default open_basedir of '/var/www/' in my php.ini and I used
to turn off ('allow all files to be opened') for a particular vhost by
setting open_basedir to '/'.
Whether this wastes resources I don't know and actually I don't care
too, because it does what I want.
Starting with 4.3.0 I can't use '/' as open_basedir anymore for some
reason, and imo it wasn't thought about properly because it creates
contradictory error messages like:
[Warning: Unknown(): open_basedir restriction in effect.
File(/var/www/host.example.com/root/admin/phpinfo.php) is not within
the allowed path(s): (/) in Unknown on line 0]
But I couldn't care less if there was an equivalent for setting
open_basedir to '/'. Because all I need is to turn off open_basedir for
a particular vhost.
And I tried setting open_basedir to none, 'none' and "none", but this
just leaves the default of '/var/www' in effect.
So I'm guessing that the 'none' setting isn't working properly as I
would think that it should turn off the open_basedir restriction for
the vhost.
------------------------------------------------------------------------
[2003-02-14 08:36:03] [EMAIL PROTECTED]
Please do not submit the same bug more than once. An existing
bug report already describes this very problem. Even if you feel
that your issue is somewhat different, the resolution is likely
to be the same. Because of this, we hope you add your comments
to the existing bug instead.
Thank you for your interest in PHP.
First of all open_basedir of '/' is rather meaningless since it allows
opening of every file anyway. Secondly the open_basedir problems
especially in FreeBSD enviroment should be convered in bug report
#19292.
------------------------------------------------------------------------
[2003-02-14 04:26:02] [EMAIL PROTECTED]
Hmm
it works for my system
open_basedir = '/www'; in php.ini
and in apache <directory> directive i have
php_admin_value open_basedir none
which works grand. did you try actually acessing a file outside the
docroot?
------------------------------------------------------------------------
[2003-02-14 04:03:11] [EMAIL PROTECTED]
I have this in my php.ini as default:
open_basedir = /var/www
I have a virtualhost block like this:
<VirtualHost 192.168.0.1>
ServerName "host.example.com"
DocumentRoot "/var/www/host.example.com/root"
<Directory "/var/www/host.example.com/root/admin">
Options Indexes ExecCgi
php_admin_value safe_mode 0
php_admin_value open_basedir "/"
</Directory>
</VirtualHost>
The goal is to force a default open_basedir of "/var/www" to
everything, except the explicitly specified /admin directory and
contents (same with safe_mode).
First, I read that setting the open_basedir to "/" doesn't work anymore
in http://bugs.php.net/bug.php?id=22101. Seems kinda weird as the
documentation states:
[The restriction specified with open_basedir is actually a prefix, not
a directory name. This means that "open_basedir = /dir/incl" also
allows access to "/dir/include" and "/dir/incls" if they exist. When
you want to restrict access to only the specified directory, end with a
slash. For example: "open_basedir = /dir/incl/"]
But besides that, specifying 'none' as open basedir in the virtualhost
doesn't turn it off, it uses the default of /var/www, and I haven't
found a way to set the open_basedir to NULL.
So, as I see it either the 'none' setting isn't working correctly and
needs to be fixed or the possibility of setting the open_basedir to "/"
needs to be put back in.
Unless I'm overseeing some very trivial way of turning the open_basedir
restriction off of course.
Thanks in advance.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=22220&edit=1