ID: 46477
Updated by: jani@php.net
Reported By: rachmel at avaya dot com
-Status: Open
+Status: Feedback
-Bug Type: Other web server
+Bug Type: CGI related
Operating System: Linux 2.6.14.7
PHP Version: 5.2.6
New Comment:
Please try using this CVS snapshot:
http://snaps.php.net/php5.2-latest.tar.gz
For Windows:
http://windows.php.net/snapshots/
And what SAPI are you using? I guess CGI or FastCGI since there is no
"native" SAPI for this odd webserver.
Previous Comments:
------------------------------------------------------------------------
[2008-11-04 09:49:40] rachmel at avaya dot com
Description:
------------
PHP's exec function returns the wrong return value.
When running script from CLI, works perfectly. When running the same
script from the web-server context - 90% of the times it returns the
wrong value - (-1).
I am using the appWeb embedded server, which is a slim apache-like
webserver.
I validated there are no permission running issues, and I couldn't see
any log messages sent by PHP that might indicate what the problem is.
Reproduce code:
---------------
<?php
print "<pre>";
for ($i = 0; $i < 10; ++$i) {
exec("/bin/true", $output, $status);
print "exec('/bin/true') returns with <b>$status</b> (expected
0)\n";
}
for ($i = 0; $i < 10; ++$i) {
exec("/bin/false", $output, $status);
print "exec('/bin/false') returns with <b>$status</b> (expected
1)\n";
}
print "</pre>";
?>
Expected result:
----------------
All executions of "true" should print "0" to the screen
All executions of "false" should print "1" to the screen.
Actual result:
--------------
Most of the times, all executions result in an error code of "-1" being
printed to the screen.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=46477&edit=1