Bug #15746 Updated: Process exec() is slow from webserver - running from shell is ok ...
| From: | sniper@php.net | Date: | Tue, 16 Jul 2002 18:23:20 +0000 |
| Subject: | Bug #15746 Updated: Process exec() is slow from webserver - running from shell is ok ... | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-14331@lists.php.net to get a copy of this message | ||
ID: 15746
Updated by: sniper@php.net
Reported By: nigel@green-bean.com
-Status: Open
+Status: Feedback
Bug Type: Performance problem
Operating System: Windows 2000 Server
PHP Version: 4.1.1
New Comment:
Try this snapshot first:
http://snaps.php.net/win32/php4-win32-latest.zip
Previous Comments:
------------------------------------------------------------------------
[2002-07-16 05:51:15] jonohlsson@hotmail.com
I have tried every netpbm-distr there is, even mixing different
versions and still it takes forever to upload jpeg files (gifs work
like a charm)...it MUST be a PHP-bug
/Jon
------------------------------------------------------------------------
[2002-07-10 10:33:11] nigel@green-bean.com
Ollie tried the suggested workaround with the same (negative) results.
------------------------------------------------------------------------
[2002-07-09 17:33:41] ollie@oliverc.com
I don't know if anyone got any further (guessing not...) but I've taken
the non-stable CVS snapshot, installed it, and modified the gallery
script that makes an exec call to use proc_open. Unfortunatly it
doesn't make any difference. The following (mess!) is the code I've
used to test the call:
$descriptorspec = array(
1 => array("pipe", "w") // stdout is a pipe that the child will
write to
// 2 => array("file", "/tmp/error-output.txt", "a"), // stderr
is a
file to write to
);
msg("CALLING PROC_OPEN");
$process = proc_open("cmd.exe /c $cmd", $descriptorspec, $pipes);
msg("PROC OPEN DONE");
if (is_resource($process)) {
msg("SUCCESS");
// $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
while(!feof($pipes[1])) {
msg("+");
echo fgets($pipes[1], 2);
msg("-");
}
fclose($pipes[1]);
$return_value = proc_close($process);
echo "RETURNED: $return_value";
}
Basically my output window does nothing for about 50 seconds after
printing the first + symbol before the actual output from the command
starts to appear. Running the identical command in a command prompt
takes less than one second to complete.
I'm running WinXP (home) with Apache 1.3.26 btw (and have the same
problem people have reported above obviously).
------------------------------------------------------------------------
[2002-06-24 01:00:05] php-bugs@lists.php.net
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
------------------------------------------------------------------------
[2002-05-23 17:01:54] derick@php.net
Win 32 snapshots: snaps.php.net/win32/
You want the non-STABLE one.
Derick
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/15746
--
Edit this bug report at http://bugs.php.net/?id=15746&edit=1