Edit report at https://bugs.php.net/bug.php?id=53041&edit=1

 ID:                 53041
 Comment by:         kev at dewsolutions dot co dot uk
 Reported by:        sunseb at live dot com
 Summary:            is_file() and open_basedir
 Status:             Verified
 Type:               Bug
 Package:            *Directory/Filesystem functions
 Operating System:   Linux
 PHP Version:        5.3.3
 Block user comment: N
 Private report:     N

 New Comment:

Still occurs in PHP 5.3.6.

to replicate:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

echo 'testing open basedir problems <br />';

// append text to current directory name which should be the dir of 
open_basedir to trigger open_basedir warning
echo 'checking ' . dirname(__FILE__) . 'test <br />';
var_dump(file_exists(dirname(__FILE__) . 'test'));

// no warning should occur here whether index.php exists or not
echo 'checking ' . dirname(__FILE__) . '/index.php <br />';
var_dump(file_exists(dirname(__FILE__) . '/index.php'));

// if index.php exists a open_basedir warning will be thrown
echo 'checking ' . dirname(__FILE__) . '/index.php/test <br />';
var_dump(file_exists(dirname(__FILE__) . '/index.php/test'));


Previous Comments:
------------------------------------------------------------------------
[2011-02-26 22:32:43] info at riastudio dot fr

Still occurs in 5.3.5, more than annoying when you have a lot of vhosts with 
open_basedir + error_reporting E_ALL

------------------------------------------------------------------------
[2011-02-02 17:26:18] mjk at emmjaykay dot org

My apologies. But it says "directory: /home/my_file.txt" so I the directions 
were a little unclear. sry

------------------------------------------------------------------------
[2011-02-02 12:39:14] sjon at react dot com

apart from you not reproducing the bug correctly (my_file.txt should obviously 
be a file, not a directory), this seems to have been fixed by now.

I suspect this to fix it:

http://svn.php.net/viewvc/php/php-src/branches/PHP_5_3/TSRM/tsrm_virtual_cwd.c?r1=264931&r2=264932&;

------------------------------------------------------------------------
[2011-02-01 19:06:53] mjk at emmjaykay dot org

I setup my machine as described in this bug and changed my /etc/php.ini so that 
open_basedir = /home/, mkdir /home/my_file.txt and did a touch 
/home/my_file.txt/whatever. I then ran this script

<?php
var_dump (is_file("/home/my_file.txt"));
var_dump (is_file("/home/my_file.txt/whatever"));
?>

and got this

bool(false)
bool(true)

Is there another change I need to make to php.ini or something I'm missing?

------------------------------------------------------------------------
[2011-01-07 14:08:04] sjon at react dot com

this problem still occurs in 5.3.5

------------------------------------------------------------------------


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

    https://bugs.php.net/bug.php?id=53041


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=53041&edit=1

Reply via email to