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