#33296 [Opn->Fbk]: popen (passthru etc.) doesn't work correct
| From: | sniper@php.net | Date: | Wed, 15 Jun 2005 17:16:07 +0000 |
| Subject: | #33296 [Opn->Fbk]: popen (passthru etc.) doesn't work correct | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-80391@lists.php.net to get a copy of this message | ||
ID: 33296
Updated by: sniper@php.net
Reported By: thomas dot wetzler at siemens dot com
-Status: Open
+Status: Feedback
Bug Type: Program Execution
Operating System: SUN OS
PHP Version: 4.3.10
New Comment:
Please try using this CVS snapshot:
http://snaps.php.net/php4-STABLE-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php4-win32-STABLE-latest.zip
Try also the latest PHP 4 snapshot.
Previous Comments:
------------------------------------------------------------------------
[2005-06-15 15:54:16] thomas dot wetzler at siemens dot com
We tried out PHP Version 5. With the commandline (php.exe) it seems to
work but with the mod_php-module we get the same failure.
Because the testing of our application take a long time, it would be
good if you can find a solution for Version 4.
------------------------------------------------------------------------
[2005-06-11 15:18:48] sniper@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php5-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5-win32-latest.zip
------------------------------------------------------------------------
[2005-06-10 10:54:44] thomas dot wetzler at siemens dot com
Description:
------------
While sequentially opening and closing several processes via popen (or
passthru, exec and '' command) php looses some processes. This takes
place if, for instance, the user presses the reload-button on a website
several times.
With the coding below, you can reproduce the failure (takes place on
commandline (php.exe) and in apache module (mod_php)).
Reproduce code:
---------------
#!/wir/webadmin/share/php4/bin/php
#
<?
for ($i=0; $i<900; $i++) {
$statement = "ls -l";
echo "\n\n$i***************************\n";
$handle = popen($statement, 'r');
echo "Subprozess: '$handle'; " . gettype($handle) . "\n";
while (!feof($handle))
{
echo fread($handle, 8192);
}
pclose($handle);
}
?>
programcall: <progname> > <resultfile>
Expected result:
----------------
Within the result-file, there should be 900 times the same result from
the system command (here ls -l command).
255***************************
Subprozess: 'Resource id #259'; resource
total 2526
-rw-r--r-- 1 webadmin oracle 572135 Jun 10 09:52 _test1.txt
drwxr-xr-x 2 wir oracle 96 May 2 15:27 mail
-rw-r--r-- 1 wir oracle 258956 Jun 10 10:42 test
-rwxrwx--- 1 wir oracle 698 Jun 10 10:41 test.php
-rw-r--r-- 1 webadmin oracle 105326 Jun 10 09:52 test1
-rwxrwx--- 1 wir oracle 656 Jun 10 09:48 test1.php
-rwxr-x--- 1 wir oracle 321 Jun 10 10:43 thomas.php
-rw-r--r-- 1 wir oracle 148274 Jun 10 10:43 thw.txt
Actual result:
--------------
Some results are missing. The same programm written in perl or
shellscript is working correct.
-rwxr-x--- 1 wir oracle 321 Jun 10 10:43 thomas.php
-rw-r--r-- 1 wir oracle 148274 Jun 10 10:43 thw.txt
256***************************
Subprozess: 'Resource id #260'; resource
257***************************
Subprozess: 'Resource id #261'; resource
total 2526
-rw-r--r-- 1 webadmin oracle 572135 Jun 10 09:52 _test1.txt
drwxr-xr-x 2 wir oracle 96 May
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=33296&edit=1