#25347 [Bgs]: ftp_rawlist() returns nothing, when apache runs as service
| From: | sniper@php.net | Date: | Wed, 03 Sep 2003 04:33:58 +0000 |
| Subject: | #25347 [Bgs]: ftp_rawlist() returns nothing, when apache runs as service | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-47115@lists.php.net to get a copy of this message | ||
ID: 25347
Updated by: sniper@php.net
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:
This is not a discussion forum. Please take this discussion elsewhere,
preferrably php-windows@lists.php.net.
Previous Comments:
------------------------------------------------------------------------
[2003-09-02 22:53:23] pollita@php.net
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.
------------------------------------------------------------------------
[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] pollita@php.net
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] sniper@php.net
You need to give it write permissions to TEMP directory. Whatever it is
in your system..
------------------------------------------------------------------------
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