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

 ID:                 62457
 Comment by:         Sjon at hortensius dot net
 Reported by:        mybugs at 163 dot com
 Summary:            Excuse me, is this a bug?
 Status:             Open
 Type:               Bug
 Package:            Safe Mode/open_basedir
 Operating System:   Microsoft Windows Server 2003 R2
 PHP Version:        5.4.4
 Block user comment: N
 Private report:     N

 New Comment:

What if you remove all '@' from your script, what are the error-messages that 
appear? Because with those added, all errors are hidden.


Previous Comments:
------------------------------------------------------------------------
[2012-07-01 06:43:48] mybugs at 163 dot com

php.ini

disable_functions =system

[PATH=  "D:/Web/test.com/public"]
open_basedir

------------------------------------------------------------------------
[2012-07-01 06:42:05] mybugs at 163 dot com

Description:
------------
php.ini

[PATH=  "D:/Web/test.com/public"]
open_basedir            ="D:/Web/test.com/public/"



Test script:
---------------
<?php
echo 'open_basedir:'.ini_get('open_basedir').'<br />';  //D:\WEB\TEST_COM\
$cmd = 'ping qq.com';
echo execute('system',$cmd);
echo execute('passthru',$cmd);
echo execute('shell_exec',$cmd);
echo execute('exec',$cmd);
echo execute('popen',$cmd);
function execute($type,$cfe) {
        $data = '';
        if ($cfe) {
                if($type=='system') {
                        @ob_start();
                        @system($cfe);
                        $data = @ob_get_contents();
                        @ob_end_clean();
                } elseif($type=='passthru') {
                        @ob_start();
                        @passthru($cfe);
                        $data = @ob_get_contents();
                        @ob_end_clean();
                } elseif($type=='shell_exec') {
                        $data = @shell_exec($cfe);
                } elseif($type=='exec') {
                        @exec($cfe,$data);
                        $data = join("\n",$data);
                } elseif($type=='popen') {
                        $f = @popen($cfe,"r");
                        while(!@feof($f)) {
                                $data .= @fread($f,1024); 
                        }
                        @pclose($f);
                }
        }
        return $type.'----------<br />'.$data.'<br />'.$type.'----------<br 
/><br />';
}

?>

Expected result:
----------------
open_basedir:D:\Web\test.com\public\
system----------

system----------

passthru----------
Pinging qq.com [119.147.15.13] with 32 bytes of data: Reply from 119.147.15.13: 
bytes=32 time=11ms TTL=56 Reply from 119.147.15.13: bytes=32 time=11ms TTL=56 
Reply from 119.147.15.13: bytes=32 time=11ms TTL=56 Reply from 119.147.15.13: 
bytes=32 time=11ms TTL=56 Ping statistics for 119.147.15.13: Packets: Sent = 4, 
Received = 4, Lost = 0 (0% loss), Approximate round trip times in 
milli-seconds: Minimum = 11ms, Maximum = 11ms, Average = 11ms
passthru----------

shell_exec----------
Pinging qq.com [119.147.15.17] with 32 bytes of data: Reply from 119.147.15.17: 
bytes=32 time=9ms TTL=56 Reply from 119.147.15.17: bytes=32 time=9ms TTL=56 
Reply from 119.147.15.17: bytes=32 time=9ms TTL=56 Reply from 119.147.15.17: 
bytes=32 time=9ms TTL=56 Ping statistics for 119.147.15.17: Packets: Sent = 4, 
Received = 4, Lost = 0 (0% loss), Approximate round trip times in 
milli-seconds: Minimum = 9ms, Maximum = 9ms, Average = 9ms
shell_exec----------

exec----------
Pinging qq.com [119.147.15.17] with 32 bytes of data: Reply from 119.147.15.17: 
bytes=32 time=9ms TTL=56 Reply from 119.147.15.17: bytes=32 time=9ms TTL=56 
Reply from 119.147.15.17: bytes=32 time=9ms TTL=56 Reply from 119.147.15.17: 
bytes=32 time=9ms TTL=56 Ping statistics for 119.147.15.17: Packets: Sent = 4, 
Received = 4, Lost = 0 (0% loss), Approximate round trip times in 
milli-seconds: Minimum = 9ms, Maximum = 9ms, Average = 9ms
exec----------

popen----------
Pinging qq.com [119.147.15.17] with 32 bytes of data: Reply from 119.147.15.17: 
bytes=32 time=9ms TTL=56 Reply from 119.147.15.17: bytes=32 time=9ms TTL=56 
Reply from 119.147.15.17: bytes=32 time=9ms TTL=56 Reply from 119.147.15.17: 
bytes=32 time=9ms TTL=56 Ping statistics for 119.147.15.17: Packets: Sent = 4, 
Received = 4, Lost = 0 (0% loss), Approximate round trip times in 
milli-seconds: Minimum = 9ms, Maximum = 9ms, Average = 9ms
popen----------


Actual result:
--------------
open_basedir:D:\Web\test.com\public\
system----------

system----------

passthru----------

passthru----------

shell_exec----------

shell_exec----------

exec----------

exec----------

popen----------

popen----------


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



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

Reply via email to