Mailinglisten-Archive |
Hai Listlinge :-) Also proc_close() soll ja theoretisch den Exit-Code eines Programms weitergeben. Folgener Code liefert als Exit-Code allerdings immer -1: <?php $ds = array( 0 => array("pipe", "r"), 1 => array("pipe", "w"), 2 => array("pipe","w") ); $res = proc_open( "ls", $ds, $pipes ); // $exit=proc_close($res); while ($dat=fgets($pipes[1],1024)) { echo "OUT: $dat"; } while ($dat=fgets($pipes[2],1024)) { echo "ERR:$dat"; } fclose($pipes[0]); fclose($pipes[1]); fclose($pipes[2]); $exit=proc_close($res); echo("Exit: $exit"); ?> OK, schein ein Bug zu sein nach allem was ich gelesen habe. Führe ich das proc_close allerdings aus bevor ich die Pipes auslese (das auskommentierte proc_close) bekomme ich den korrekten Exit-Code. Das proc_close auszuführen bevor ich auf die Pipes zugreife kann natürlich nicht die Lösung sein, ist schon klar. Also, nun die Preisfrage: Gibt es einen Workaround um an den Exit-Code zu kommen ohne auf PHP 5.1 zu warten wie wez es hier: http://bugs.php.net/bug.php?id=22999 vorschlägt? *dummguck* *wink* Carsten
php::bar PHP Wiki - Listenarchive