Bug #72317 [Com]: tempnam fails with prefix "php"

From: Date: Mon, 06 Jun 2016 11:25:35 +0000
Subject: Bug #72317 [Com]: tempnam fails with prefix "php"
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-201472@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=72317&edit=1 ID: 72317 Comment by: flip101 at gmail dot com Reported by: flip101 at gmail dot com Summary: tempnam fails with prefix "php" Status: Feedback Type: Bug Package: *Directory/Filesystem functions Operating System: Windows 10 64 bits PHP Version: 5.6.20 Block user comment: N Private report: N New Comment: Hi ab, i captured the output of Sysinternals Process Monitor. I noticed that when trying to generate a file the file already exist (i went into the directory and indeed the file is there). I have 65.535 files which look like php####.tmp where #### can be 1 to 4 characters and seem to be counting up. However all these files were created on the day that i reported this issue. What i think happened is that i had the tempnamp() in a while loop (which had a wrong stop condition) and assumed php would delete the file if i don't use it (because i thought the file was temporary because of the function name). When i was getting errors there i started making the test case which of course failed as well. Let me know if you want to have the output of Process Monitor, or @cmb if you want to test this with a different php version. But i think the issue is resolved at this point. Previous Comments: ------------------------------------------------------------------------ [2016-06-06 07:44:17] ab@php.net Thanks for the report. Can't reproduce as well. Also it's unlikely an issue with exactly x64 PHP5, as the I/O layer is same. @flip101 does the same happen when using a dir different from temp? For one, could you please post the relevant part of the procmon output when running into this issue? The Process Monitor is fetcheable from sysinternals.com. Thanks. ------------------------------------------------------------------------ [2016-06-03 15:12:04] cmb@php.net > My exact php version is this one: php-5.6.20-Win32-VC11-x64.zip Running your latest test script on this very version: bool(true) bool(true) string(31) "C:\Users\cmb\AppData\Local\Temp" string(43) "C:\Users\cmb\AppData\Local\Temp\phpB8D1.tmp" string(43) "C:\Users\cmb\AppData\Local\Temp\aaaB8E2.tmp" So, I still can't reproduce the issue. Anyhow, note[1]: | The x64 builds of PHP 5 for Windows are experimental, I suggest you try with an x86 build of PHP 5.6.22. [1] <http://windows.php.net/download/> ------------------------------------------------------------------------ [2016-06-03 13:57:27] flip101 at gmail dot com Forgot to change the username in my output, but it's the same user .. ------------------------------------------------------------------------ [2016-06-03 13:20:44] flip101 at gmail dot com I double check error reporting it's on E_ALL both in my php.ini (and i double check that i was viewing the right php.ini by checking which one was loaded) and also i put error_reporting(E_ALL); at the top (new script at the bottom of this comment). I don't see any warnings or notices, exact output at bottom of comment. My exact php version is this one: php-5.6.20-Win32-VC11-x64.zip ==== Script <?php error_reporting(E_ALL); var_dump( file_exists(sys_get_temp_dir()), is_writable(sys_get_temp_dir()), sys_get_temp_dir(), tempnam(sys_get_temp_dir(), 'php'), tempnam(sys_get_temp_dir(), 'aaa') ); ==== End script ==== Console C:\dev>php test.php bool(true) bool(true) string(34) "C:\Users\plagas\AppData\Local\Temp" bool(false) string(46) "C:\Users\plagas\AppData\Local\Temp\aaaE26E.tmp" ==== End Console ------------------------------------------------------------------------ [2016-06-03 12:21:38] cmb@php.net I can't reproduce this issue, neither on Windows 10 x64 with PHP 5.6.22 VC11 x64 Non Thread Safe (2016-May-26 18:22:21), nor on 3v4l.org, see <https://3v4l.org/Wig5o>. Please make sure that you have error_reporting=-E_ALL, and double- check that there are no warnings or notices reported. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=72317 -- Edit this bug report at https://bugs.php.net/bug.php?id=72317&edit=1

« previous php.bugs (#201472) next »