ID: 41904 Updated by: [EMAIL PROTECTED] Reported By: martin dot partel at mbnet dot fi -Status: Open +Status: Closed Bug Type: Program Execution Operating System: Linux PHP Version: 5.2.3 New Comment:
This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Now empty env array passes empty environment like it should. Previous Comments: ------------------------------------------------------------------------ [2007-08-16 12:48:28] [EMAIL PROTECTED] Empty array should pass empty environment to be able to pass this special value. ------------------------------------------------------------------------ [2007-07-05 13:51:44] [EMAIL PROTECTED] Reclassified as docu issue. ------------------------------------------------------------------------ [2007-07-05 13:35:01] martin dot partel at mbnet dot fi Description: ------------ The documentation of proc_open states that passing NULL as the $env parameter of proc_open has the child process use the same environment as the current PHP process. Passing an empty array seems to have the same effect, even though intuitively it should give the child process an empty environment. Reproduce code: --------------- <?php echo '<pre>'; $descriptorspec = array( 0 => array("pipe", "r"), 1 => array("pipe", "w"), ); $cwd = '/tmp'; $env = array(); $process = proc_open('php', $descriptorspec, $pipes, $cwd, $env); if (is_resource($process)) { fwrite($pipes[0], '<?php print_r($_ENV); ?>'); fclose($pipes[0]); echo stream_get_contents($pipes[1]); fclose($pipes[1]); proc_close($process); } Expected result: ---------------- The script should output an (almost) empty $_ENV. Actual result: -------------- The script outputs the $_ENV of the parent process. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=41904&edit=1