Bug #73039 [Com]: Temporary files not being cleaned up when shell_exec called

From: Date: Fri, 09 Sep 2016 14:56:09 +0000
Subject: Bug #73039 [Com]: Temporary files not being cleaned up when shell_exec called
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-203924@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=73039&edit=1 ID: 73039 Comment by: chu_man_fu at hotmail dot com Reported by: chu_man_fu at hotmail dot com Summary: Temporary files not being cleaned up when shell_exec called Status: Feedback Type: Bug Package: Streams related Operating System: Windows Server 2012 R2 PHP Version: 5.6.25 Block user comment: N Private report: N New Comment: Hi, We get no errors or events and the script doesn't acutally bail out. It carries on but the temp file is never cleaned up. I have changes the script so that shell_exec is calling CLS rather than DIR and I get the same problem. Thanks Previous Comments: ------------------------------------------------------------------------ [2016-09-08 13:19:11] ab@php.net Thanks for the report. Could you please check error logs? Or the event log, if applicable. I see no direct connection to shell_exec, except a command would run over the timeout limit and cause a premature script bailout. Thanks. ------------------------------------------------------------------------ [2016-09-07 12:56:18] chu_man_fu at hotmail dot com Description: ------------ I have noticed the temp directory on the web server is full of files named php*.tmp. The contents of these files is POST data for various ajax calls (mainly the same group of calls). There isn't a temp file per call. If I watch the directoy I can see most temp files appear and then get deleted. However, for whatever reason, sometimes these files are not cleaned up. The only way I have been able to reproduce this error is using apache bench to post data (26KB) to a script which uses the shell_exec, exec, popen command: <?php shell_exec("dir"); echo "FINISHED"; ?> It will only produce the temp file when there is concurrency and lots of requests for each: ab -p <post_data_file> -c 3 -n 30 <url_to_script> Our system does perform calls to popen() but the POST data temp files which are being left behind are not always for calls which invoke this function. I can produce the issue on 5.6.24 and 5.6.25. I have tried on the following versions and not been able to reproduce it: 5.4.44, 5.5.25, 7.1 I not beein able to reproduce the issue on a Mac running 5.6.18. ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=73039&edit=1

« previous php.bugs (#203924) next »