Hello Ron, Wednesday, August 10, 2005, 8:47:25 AM, you wrote:
> Okay Andi, the script in this message is as simple as it gets. I used a > syslog file to create a load of data in this case, but of course you can use > any (text) file for this. > #!/usr/bin/php5 > <? > function process() > { > $data = file("/var/log/syslog.0"); > foreach ($data as $line) > throw new Exception("error"); What makes you think the file would be closed. Erm the array deleted? And that is your problem you are unnecessarily reading all the file into an array. Try using the same with FileObject instead, which should reduce memory usage a lot: foreach(FileObject($file) as $data) throw new Exception("error"); But of course you only did that to demonstrate the memory problem which in fact simply means that we don't do a full stack cleanup like c++ would do here (php != c++). In php we do the cleanup at script termination. That is also the reason why php is not perfectly suitable for console apps especially when it comes to daemons. best regards marcus -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php