Re: Memory leak occurs when exec() function is used on Windows platform

From: Date: Mon, 10 Sep 2007 01:51:06 +0000
Subject: Re: Memory leak occurs when exec() function is used on Windows platform
References: 1  Groups: php.windows 
Request: Send a blank email to php-windows+get-28460@lists.php.net to get a copy of this message
melmack wrote:
Hi I have a big problem with shell commands execution via PHP. I have written a very short PHP script ilustrating the problem: <?php for($i=0;$i<1000;$i++) { exec("test.bat"); } ?> test.bat is just an empty file. This script causes about 10 MB memory leak. It can be observed by usage of performance system monitor. This problems occurs in all available enviroments: - IIS Webserver. - Apache webserver - PHP command line interpreter Memory leak is observable only on Windows platform (tested on Windows XP). On Linux everything works OK. Does someone know how to solve this problem? Any help appreciated Best regards Melmack
I've found exec to be flaky enough on windows that instead I use com to spawn the new process. $shell = new COM('WScript.Shell'); $return = $shell->Run($cmd, 0, false); unset ($shell); Faster and no leaks ;) Only downside is you have to wrap cross-platform code with windows detection.

« previous php.windows (#28460) next »