#44942 [Com]: exec() hangs apache

From: Date: Tue, 10 Jun 2008 14:59:11 +0000
Subject: #44942 [Com]: exec() hangs apache
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-125650@lists.php.net to get a copy of this message
ID: 44942 Comment by: aleaddict at yahoo dot com Reported By: inqualab1985 at gmail dot com Status: Open Bug Type: Program Execution Operating System: Microsoft Window 2000 SP4 PHP Version: 5.2.5 New Comment: Windows Server 2003 R2 Service Pack 1 Apache 2.2.6 PHP 5.2.4 (upgraded to 5.2.6 with no success) Executing resource kit utility shortcut.exe via exec() with EXACTLY the same results... Random, no errors logged, hangs up all succeeding calls to exec(), requires restart. Keith Previous Comments: ------------------------------------------------------------------------ [2008-05-14 07:56:17] inqualab1985 at gmail dot com Dear Jani There is no problem with 'sample.exe'. I have tested the same for different exe or even for dos command. It hangs when we are calling the page at regular interval of time (through Ajax). There is a problem in the definition of exec() function. For any further information , feel free to contact me. ------------------------------------------------------------------------ [2008-05-09 14:20:40] jani@php.net What exactly does this "sample.exe" do? It's most likely not any PHP problem at all anyway, you just call some exe that "hangs" itself.. ------------------------------------------------------------------------ [2008-05-08 05:40:53] inqualab1985 at gmail dot com Description: ------------ Hi! PHP Team I am facing a problem of apache hang up due to exec() function. I am using PHP 5.2.5 and Apache 2.2 on MS Window 2000 SP4 & also on MS Window XP. The problem is that I have to execute a exe, for which I have use exec(). Normally it works Fine, but sometime (randomly) it hang up. It will lock the apache and if we call the same page or any other page of php having exec(), it hang up at the line where exec() function is used. If we commented the line having exec(), then the page run & loaded correctly. The problem also become critical because there is no error for this. Also none of the error handling & logging mechanism works. The only solution to this problem is to restart the Apache. I am providing you as much as information as possible to catch the problem correctly. Reproduce code: --------------- $exeFilePath = realpath("../sample.exe"); if (eregi("win", PHP_OS)) $command = "\"\"$exeFilePath\" argument1\""; else $command = "\"$exeFilePath\" argument1"; $output = null; $returnVal = null; $result = exec($command,$output,$returnVal); if($returnVal !=0) echo "Error"; else echo $output[0]; echo "end of the program"; Expected result: ---------------- it will show the output of exe for particular argument. Actual result: -------------- Normally it works correctly as expected but sometime the the execution of the page hang at line "$result = exec($command,$output,$returnVal);" . After this has happen I am not able to run any script that will use the exec(). In all scripts apache hangs at exec() function, do not matter which exe will be called. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=44942&edit=1

« previous php.bugs (#125650) next »