ID: 25347 Updated by: [EMAIL PROTECTED] Reported By: spam at come dot no-ip dot com Status: Bogus Bug Type: FTP related Operating System: Windows XP Pro PHP Version: 4.3.3 New Comment:
The code is literally: int fd = tmpfile(); PHP makes no decisions on where the file will be created, that is entirely up to the host OS. In this case: Windows. If you consult http://msdn.microsoft.com you may find a definition of how windows treats that function call. Alternatively, an strace (cygwin has an strace) should provide some insight. Previous Comments: ------------------------------------------------------------------------ [2003-09-02 20:27:49] spam at come dot no-ip dot com thats actualy very wierd, because: neither $_env['TEMP'] nor $_server['TEMP'] returns nothing (but gives warning error that variable not exist) and phpinfo() shows only one TEMP directory: C:\DOCUME~1\apache\LOCALS~1\Temp (it's shows under "Envirement" part) witch is 100% correct. that temp folder is automaticaly has setup to full control for apache user. so, is there any way to trace where php is trying write something on disk without permission? with that ftp_rawlist() function no error logs... P.S. in case its using TEMP dir, maybe it would be a good idea to add an option in php.ini to chose that dir? (this case would releave the pain... ;) ) ------------------------------------------------------------------------ [2003-09-02 19:09:15] [EMAIL PROTECTED] Because your temp folder is probably located somewhere around D:\TEMP That's just a guess mind you... I can't quite see your drive structure from here. :) As to what's pointing there, it's most likely a system wide environment variable. Take a look at the output of "phpinfo()" and see if you have an environment variable by the name of $_ENV['TEMP'] (possibly $_SERVER['TEMP']). Even if it's not set, there may be something in Window's clib that knows to use it as a default. ------------------------------------------------------------------------ [2003-09-02 18:14:34] spam at come dot no-ip dot com ah, ok, u were almost right... I got it to work only after I add write permission to entire drive! can someone explain me why is that? all software that need to run web server (apache, php, mysql, perl, etc) are located at D:\server\ if I add write permission to that folder, nothing happens, but if I add write permission to D:\ drive, then it start working... in my server configuration nothing pointing outside of \server\ folder, then why do I need set write permission to D:\ drive??? ------------------------------------------------------------------------ [2003-09-02 08:36:11] [EMAIL PROTECTED] You need to give it write permissions to TEMP directory. Whatever it is in your system.. ------------------------------------------------------------------------ [2003-09-01 22:24:53] spam at come dot no-ip dot com yes, probably the problem is permissions...but I've tryed add to my user read/write permissions to temp folder and sessions (the ones that set in php.ini) still no luck. I was following installation guide from apache package, that describes what folders needs to be set the permissions, also set php installation folder to be full control for my apache user, same thing. I'm running out of ideas on what else permission I could set up... P.S. I'm trying not to use any system folders neither for temp files nor for .ini settings, that makes less painless reinstalling system or upgrading software. I even tryed give full control and changed ownership to apache user on all folders that have any relationship to the apache+php. ------------------------------------------------------------------------ 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 http://bugs.php.net/25347 -- Edit this bug report at http://bugs.php.net/?id=25347&edit=1