|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2003-02-27 08:51 UTC] iliaa@php.net
[2003-02-27 10:30 UTC] jlondon at mail dot mcg dot edu
[2003-02-27 10:34 UTC] wez@php.net
[2003-02-27 11:31 UTC] jlondon at mail dot mcg dot edu
[2003-02-27 12:13 UTC] wez@php.net
[2003-02-27 14:35 UTC] jlondon at mail dot mcg dot edu
[2003-02-27 15:45 UTC] jlondon at mail dot mcg dot edu
[2003-02-27 15:45 UTC] iliaa@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sun Nov 02 09:00:01 2025 UTC |
proc_open hangs on the example that is in the manual. Here is the code. $descriptorspec = array( 0 => array("pipe", "r"), // stdin is a pipe that the child will read from 1 => array("pipe", "w"), // stdout is a pipe that the child will write to 2 => array("file", "c:/temp/error-output.txt", "a"), // stderr is a file to write to ); $process = proc_open("c:\php\php.exe", $descriptorspec, $pipes); if (is_resource($process)) { // $pipes now looks like this: // 0 => writeable handle connected to child stdin // 1 => readable handle connected to child stdout // Any error output will be appended to /tmp/error-output.txt fwrite($pipes[0], "<?php echo \"Hello World!\"; ?>" . chr(3)); fclose($pipes[0]); while(!feof($pipes[1])) { echo fgets($pipes[1], 1024); } fclose($pipes[1]); // It is important that you close any pipes before calling // proc_close in order to avoid a deadlock $return_value = proc_close($process); echo "command returned $return_value\n"; } I'm running NT4 Server/PHP4.3.2.2/IIS4. This bit of code opened up 54 php.exe/cmd.exe (that's 54 of each or 108 total) processes on my machine.