Bug #73039 [Fbk->Opn]: Temporary files not being cleaned up when shell_exec called

From: Date: Tue, 13 Sep 2016 15:09:22 +0000
Subject: Bug #73039 [Fbk->Opn]: Temporary files not being cleaned up when shell_exec called
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-204005@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 Updated by: ab@php.net Reported by: chu_man_fu at hotmail dot com Summary: Temporary files not being cleaned up when shell_exec called -Status: Feedback +Status: Open Type: Bug Package: Streams related Operating System: Windows Server 2012 R2 PHP Version: 5.6.25 Block user comment: N Private report: N Previous Comments: ------------------------------------------------------------------------ [2016-09-09 14:56:07] chu_man_fu at hotmail dot com 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 ------------------------------------------------------------------------ [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 (#204005) next »