#22220 [Opn->Fbk]: can't turn open_basedir off anymore since 4.2.3 -> 4.3.0

From: Date: Sat, 15 Feb 2003 19:18:14 +0000
Subject: #22220 [Opn->Fbk]: can't turn open_basedir off anymore since 4.2.3 -> 4.3.0
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-33246@lists.php.net to get a copy of this message
ID: 22220 Updated by: sniper@php.net Reported By: root@mediamonks.net -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] root@mediamonks.net 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] iliaa@php.net 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] cmouse@quakenet.org 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] root@mediamonks.net 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

« previous php.bugs (#33246) next »