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

 ID:                 61873
 User updated by:    dcb at insomniacsoft dot com
 Reported by:        dcb at insomniacsoft dot com
 Summary:            proc_get_status always returns exitcode -1
 Status:             Open
 Type:               Bug
 Package:            Program Execution
 Operating System:   Linux
 PHP Version:        5.4.1
 Block user comment: N
 Private report:     N

 New Comment:

I've checked that, the script executes fine and besides I actually discovered 
the 
issue while working with the symfony/Process classes. On php 5.3.6 all the 
tests 
pass, but on the same machine, with the same config (just different paths) all 
versions starting from 5.4.0 fail the symfony/Process unit tests related to the 
exit code.


Previous Comments:
------------------------------------------------------------------------
[2012-04-28 14:22:18] reeze dot xia at gmail dot com

I can't reproduce it either. Any error log in /tmp/error-output.txt?
maybe /tmp/te did't have execution permission?

------------------------------------------------------------------------
[2012-04-28 11:30:29] dcb at insomniacsoft dot com

I forgot to mention that on the same machines php 5.3 gives the expected 
results.

------------------------------------------------------------------------
[2012-04-28 11:25:59] dcb at insomniacsoft dot com

I've just tried now with latest snapshot and I'm getting the same result. 
I have this problem occurring on 2 64bit Ubuntu machines.
What OS have you tried to reproduce this on?

------------------------------------------------------------------------
[2012-04-28 04:00:11] larue...@php.net

Please try using this snapshot:

  http://snaps.php.net/php5.4-latest.tar.gz
 
For Windows:

  http://windows.php.net/snapshots/

I can not reproduce this with php5.4-trunk.

------------------------------------------------------------------------
[2012-04-28 03:13:59] dcb at insomniacsoft dot com

Description:
------------
Since PHP 5.4.0 the proc_get_status and proc_close functions always return -1 
as 
exitcode.

Test script:
---------------
$descriptorspec = array(
    0 => array("pipe", "r"), 
    1 => array("pipe", "w"),
    2 => array("file", "/tmp/error-output.txt", "a")
);
$p = proc_open('/tmp/te', $descriptorspec, $pipes, '/tmp');
sleep(1);
fclose($pipes[0]);fclose($pipes[1]);
$s = proc_get_status($p);
print_r($s);

/tmp/te is simply:
#!/bin/bash
exit 0

Expected result:
----------------
Array
(
    [command] => /tmp/te
    [pid] => 12376
    [running] => 
    [signaled] => 
    [stopped] => 
    [exitcode] => 0
    [termsig] => 0
    [stopsig] => 0
)

Actual result:
--------------
Array
(
    [command] => /tmp/te
    [pid] => 12376
    [running] => 
    [signaled] => 
    [stopped] => 
    [exitcode] => -1
    [termsig] => 0
    [stopsig] => 0
)


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



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

Reply via email to