ID: 34656 Comment by: info at wiredtek dot info Reported By: wolfram at schlich dot org Status: Feedback Bug Type: Safe Mode/open_basedir Operating System: Linux 2.2.16 i586 PHP Version: 4.4.1 New Comment:
same problem here with php 5.0.5 on a Gentoo box and apache 2.0.54 for each virtual hosts i set the open_basedir via Apache conf: <VirtualHost *:80> ServerName xxxxxx DocumentRoot "/home/administrator/" php_admin_value open_basedir .:/home/administrator/:/usr/share/php </VirtualHost> (php.ini: no open_basedir specified, include_path = ".:/usr/share/php/", no safe mode) all work with php 4.3.11, but upgrading to php 5.0.5 i give a lot of warnings about open_basedir restrictions in /usr/share/php. in /usr/share/php there is the PEAR classes repository. php 4.x is able to include PEAR classes from /usr/share/php, but php5 is able to pick up only first level files, not the one present in the subfolders; for example php5 is able to include /usr/share/php/PEAR.php but not /usr/share/XML/Serializer.php showing me the open_basedir restrictions. I can fix the problem with php_admin_value open_basedir none in the Apache configuration, but it is not safe, and it is not what i need. There is a patch for this? Previous Comments: ------------------------------------------------------------------------ [2005-11-04 16:04:24] jf at probe-networks dot de I can confirm this, PHP 4.4.1 seems to have major problems with (atleast) open_basedir. It seems to ignore path's set via httpd.conf. The following is from 4.4.1 using Confixx 3.1 (very famous server administration frontend): [04-Nov-2005 15:39:10] PHP Warning: main(): Failed opening '../settings.inc.php' for inclusion (include_path='.:/srv/www/htdocs/confixx/html/include:/srv/www/htdocs/confixx/html') in /srv/www/htdocs/confixx/html/reseller/auth.php on line 75 [04-Nov-2005 15:39:10] PHP Warning: main(): open_basedir restriction in effect. File(../functions.inc.php) is not within the allowed path(s): (/srv/www/htdocs/confixx) in /srv/www/htdocs/confixx/html/reseller/auth.php on line 76 [04-Nov-2005 15:39:10] PHP Warning: main(../functions.inc.php): failed to open stream: Operation not permitted in /srv/www/htdocs/confixx/html/reseller/auth.php on line 76 [04-Nov-2005 15:39:10] PHP Warning: main(): Failed opening '../functions.inc.php' for inclusion (include_path='.:/srv/www/htdocs/confixx/html/include:/srv/www/htdocs/confixx/html') in /srv/www/htdocs/confixx/html/reseller/auth.php on line 76 [04-Nov-2005 15:39:10] PHP Warning: main(): open_basedir restriction in effect. File(../sessions.inc.php) is not within the allowed path(s): (/srv/www/htdocs/confixx) in /srv/www/htdocs/confixx/html/reseller/auth.php on line 77 [04-Nov-2005 15:39:10] PHP Warning: main(../sessions.inc.php): failed to open stream: Operation not permitted in /srv/www/htdocs/confixx/html/reseller/auth.php on line 77 [04-Nov-2005 15:39:10] PHP Warning: main(): Failed opening '../sessions.inc.php' for inclusion (include_path='.:/srv/www/htdocs/confixx/html/include:/srv/www/htdocs/confixx/html') in /srv/www/htdocs/confixx/html/reseller/auth.php on line 77 [04-Nov-2005 15:39:10] PHP Fatal error: Call to undefined function: db_connect() in /srv/www/htdocs/confixx/html/reseller/auth.php on line 79 reseller/auth.php: Starting Line 73:$PHP_AUTH_USER = $PHP_AUTH_PW = ''; include("../settings.inc.php"); include("../functions.inc.php"); include('../sessions.inc.php'); db_connect($db_host, $db_user, $db_pass); sessao_start(); ------------------------------------------------------------------------ [2005-11-02 14:43:40] troy at riq dot qc dot ca Hi, I always have open_basedir set to "/webdir/htdocs/" in the php.ini and for each website, a more precise open_basedir like "/webdir/htdocs/site1" set in httpd.conf. With 4.3.11 that work like I expect. ------------------------------------------------------------------------ [2005-11-01 22:34:00] [EMAIL PROTECTED] Does it work if you set the open_basedir in php.ini ? ------------------------------------------------------------------------ [2005-11-01 22:19:12] troy at riq dot qc dot ca I just backtrack to a old version because 4.4.1 seem buggy with open_basedir. "../scripts/Connect.php" is in the open_basedir but 4.4.1 refuse it. BTW, the open_basedir is set via apache httpd.conf and have always work. PHP Warning: main(): open_basedir restriction in effect. File(../scripts/Connect.php) is not within the allowed path(s): (/webdir/htdocs/site3/) in /webdir/htdocs/site3/something/page.php on line 2 PHP Warning: main(../scripts/Connect.php): failed to open stream: Operation not permitted in /webdir/htdocs/site3/something/page.php on line 2 PHP Warning: main(): Failed opening '../scripts/Connect.php' for inclusion (include_path='.:/webapp/lib/php') in /webdir/htdocs/site3/something/page.php on line 2 Hope it will be fix soon! Have a nice day. ------------------------------------------------------------------------ [2005-11-01 15:01:35] wolfram at schlich dot org Just tried with the freshly released 4.4.1, without luck: --8<-- Warning: fopen(): open_basedir restriction in effect. File(/tmp/foo.bar) is not within the allowed path(s): (/home/sites/site81/:/tmp/:/usr/share/pear/) in /home/sites/site81/web/fopen.php on line 3 Warning: fopen(/tmp/foo.bar): failed to open stream: Operation not permitted in /home/sites/site81/web/fopen.php on line 3 --8<-- --8<--[ access.conf ]--8<-- <DirectoryMatch "/home/sites/site81/"> php_admin_value open_basedir /home/sites/site81/:/tmp/:/usr/share/pear/ </DirectoryMatch> --8<-- ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/34656 -- Edit this bug report at http://bugs.php.net/?id=34656&edit=1