ID: 11000
Updated by: venaas
Reported By: [EMAIL PROTECTED]
Status: Feedback
Bug Type: FTP related
Operating System: NT 4.0
PHP Version: 4.0.4pl1
New Comment:
What happens I think, is that ftp_connect uses
gethostbyname to look up the name, it's called with 127.0.0.1 if you specify that. It
looks like
gethostbyname tries to look up the address for
127.0.0.1 and if it can't contact any nameservers it
simply fails. If you use localhost there is probably
something like the host file on UNIX, or maybe it is
hardcoded, that says that localhost is 127.0.0.1. The
implementations I've seen of gethostbyname will notice
that it's an IP address and do no lookup, this might
not be the case on NT 4.0... If this is a general
problem (bug #11025 is similar), I suggest we fix it
by calling php_network_getaddresses() rather than doing
all the work in ftp.c. php_network_getaddresses() avoids
gethostbyname() on IP addresses.
fopen uses php_network_getaddresses(). If
fopen("ftp://127.0.0.1/...") or http://... works for you
I'll fix this for ftp_connect()
Previous Comments:
------------------------------------------------------------------------
[2001-07-21 21:32:57] [EMAIL PROTECTED]
Are you saying that 127.0.0.1 only works when you are
connected to the internet, but localhost works anytime?
------------------------------------------------------------------------
[2001-05-21 22:30:13] [EMAIL PROTECTED]
Now the third answer for [EMAIL PROTECTED] (Hi Jani, I saw your question unfortunately
just after I sent my last report):
I used the ftp-server WAR-FTPD 1.67-05 (freeware, downloadable from
http://www.jgaa.com) and tried it localy installed on my NT4.0 Worsstation with an
external NT4.0 Intranet-Webserver (Apache with PHP 4.04).At home I used a Windows 2000
Workstation with local running Apache and PHP 4.0.4 first, 4.0.5 after a meanwhile
update.
The original error-message on all configurations was:
"Warning: Unable to find ftpbuf 0 in e:\eigene dateien\php\liegenschaften\upload.php4
on line 10"
Some new information:
To my surprise this error does not occur at home, when I am connected to Internet.
After dialing in the script runs also with "127.0.0.1" without any warnings, after
shutting down the Internet-connection only $ftp_server = "localhost" or
$ftp_server="#DNS_name_of_server#" is accteptd.
This is also the reason for my second "workaround" as described before, this is no
one, because '127.0.0.1' is only accepted when internet-connection is open.
Hope, this will help you!
bye... kni
------------------------------------------------------------------------
[2001-05-21 21:15:19] [EMAIL PROTECTED]
Send this bug-message this morning, got two answers myself this evening:
Obviously php does not understand ftp-server-adresses in form of "127.0.0.1" or
somehow, but when I used "localhost" or the name of the server defined in the
Apache-Konfiguration the script below ran without any error-message.
Another workaround: using '127.0.0.1' ran also without problems!?!
kni
------------------------------------------------------------------------
[2001-05-21 16:45:19] [EMAIL PROTECTED]
Have you tried with some public ftp-server?
Does it work then? And what is the full error message?
--Jani
------------------------------------------------------------------------
[2001-05-21 15:39:36] [EMAIL PROTECTED]
I installed the PHP4 software (actual Windows binary 4.04pl1) with the actual
Apache-Server on a NT 4.0 server. The FTP-Server I try to contact runs localy on my
NT4.0 PC.
The following script
<?php
$ftp_user = "username";
$ftp_pass = "password";
$ftp_server = "127.0.0.1";
$conn_id = ftp_connect("$ftp_server");
echo $conn_id;
$login_result = ftp_login($conn_id, "$ftp_user", "$ftp_pass");
?>
causes "Warning: Unable to find ftpbuf 0 in ....".
$conn_id is null, it seems, that there is no connection.
I found some similar error-messages in the php-FAQ's, but no answer.
bye...
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=11000&edit=1
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]