#11000 [Com]: ftp_connect(...) produces ftpbuf 0 "error"
| From: | tiziano at m4driving dot sm | Date: | Sat, 19 Apr 2003 09:38:50 +0000 |
| Subject: | #11000 [Com]: ftp_connect(...) produces ftpbuf 0 "error" | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-37894@lists.php.net to get a copy of this message | ||
ID: 11000
Comment by: tiziano at m4driving dot sm
Reported By: kniprath dot l at wver dot de
Status: Closed
Bug Type: FTP related
Operating System: NT 4.0
PHP Version: 4.0.4pl1
New Comment:
I'm using PHP 4.1.1 on a FreeBSD machine.
I have a script that basically connects to a ftp server, does the
login, gets a file and then quits.
It worked fine for over a month, but now it outputs this error:
Warning: Unable to find ftpbuf 0 in /path/script.php on line x
line x is $login_result = ftp_login($conn_id, "$ftp_user",
"$ftp_pass");
The ftp server I'm trying to connect to is working as I can connect to
it with a ftp client.
Other public ftp servers work fine
Anybody who can help?
Thank you
Previous Comments:
------------------------------------------------------------------------
[2001-10-02 18:10:46] sniper@php.net
No feedback.
------------------------------------------------------------------------
[2001-08-20 10:55:43] sniper@php.net
What was the result? Does fopen("http://...") or
fopen("ftp://...")
work for you?
--Jani
------------------------------------------------------------------------
[2001-07-22 06:15:50] venaas@php.net
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()
------------------------------------------------------------------------
[2001-07-21 21:32:57] andy@php.net
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] kniprath dot l at wver dot de
Now the third answer for sniper@php.net (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
------------------------------------------------------------------------
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/11000
--
Edit this bug report at http://bugs.php.net/?id=11000&edit=1