Bug #44942 [Com]: exec() hangs apache

From: Date: Sun, 23 Oct 2011 19:26:34 +0000
Subject: Bug #44942 [Com]: exec() hangs apache
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-164524@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=44942&edit=1 ID: 44942 Comment by: kevin at texasbb dot com Reported by: inqualab1985 at gmail dot com Summary: exec() hangs apache Status: Duplicate Type: Bug Package: Program Execution Operating System: Windows 2000 SP4 PHP Version: 5.2.5 Block user comment: N Private report: N New Comment: Happening to me on windows server 08 using IIS session_write_close(); doesnt seem to work for me. but i can use a page with iframes and eatch iframe can have a php with exec() and all work. i tested 10 different php iframes and could see all 10 processes open when page was loading. when adding just 2 exec() calls on same script or even trying to use different php files called from 1 will freeze the second process from exec just throwin this out there to help solve this so iframes can call any number it seems but more than 1 in same php script will hang on SECOND process(no need to reset server just kill the process and output from first will be there but second will not and page will finish loading). Previous Comments: ------------------------------------------------------------------------ [2011-10-10 15:30:00] jameslively at insightbb dot com I am still seeing this issue on PHP 5.3.8. I am running the site on Windows 2k3 sp3 and Apache 2.2. ------------------------------------------------------------------------ [2011-01-18 09:50:07] pajoye@php.net See #44994 ------------------------------------------------------------------------ [2010-09-07 00:13:10] richard at dlconsulting dot com Had a similar problem which was reproducible on Apache 1.3.26 and PHP 5.2.14 or PHP 5.3.3, (Apache running on Windows XP SP3). Reproducable when using Firefox 3.6.8, Chrome 5.0.375.127, IE 8.0.6001.18702 Interestingly, when the same PHP based system was running on linux (Centos 5.5) this problem could not be reproduced. A parent browser window opens a child popup to perform an import process of some files into a system. The child popup window is running a PHP script which as part of its process calls an external binaries such as rm.exe or unzip.exe binary using the exec function. As part of the html in the child popup window, we call a javascript function with <script type="text/javascript">window.opener.location.reload();</script> which reloads the parent window (which is also generated via PHP). When this bug occurs, the JavaScript above is near the top of the web page, so that it seems to trigger a reload of the parent PHP script during the child popup PHP process, and apparently this interferes somehow with the execution of the child popup PHP process, because when we tried moving this JavaScript to the bottom of the popup PHP process webpage . . the problem goes away. This problem, which seems somehow related to the concurrent execution of the PHP of the parent browser window, hangs Apache completely. Apache has to be terminated manually, and then restarted. Therefore this bug was a showstopper until we happened upon a work-around. If we remove calls to exec() in the child popup PHP script, the problem disappears. The duration of the child popup PHP script is not trivial, it might unzip / read / move maybe 50 files (although on fast hardware this might take less than a second anyway . . .) ------------------------------------------------------------------------ [2010-09-06 14:53:26] elwiz at 3e dot pl Hello. I am also having the same problem. One of my scripts is being called multiple times (as a SRC for image tags) and each time it uses the exec function. On windows XP, with PHP 5.2.5 and Apache 2.2 the PHP stops responding. Requests for static files can be done but PHP scripts run endlessly. Session closing and opening helps but it is still just a workaround. ------------------------------------------------------------------------ [2010-07-25 21:00:18] andy dot hilbig at clubsys dot co dot uk I have been plagued with PHP freezing after a few minutes, days or maybe weeks. I use exec() to link to custom vb.exe I have searched and searched until today tried the session_write_close(); before the exec()call and session_start (); after. I can now click [Next Day]/[Next Day] as fast as I like and all appears solid now. Other users have connected at the same time. So, thank you all very much for the cure. I have umpteen years programming in machine code and 15 in VB6 with the Jet engine to Access. All works well with Apache/PHP/VB exes. Do I really need .Net ??? ------------------------------------------------------------------------ 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 https://bugs.php.net/bug.php?id=44942 -- Edit this bug report at https://bugs.php.net/bug.php?id=44942&edit=1

« previous php.bugs (#164524) next »