Bug #11000 Updated: ftp_connect(...) produces ftpbuf 0 "error"

From: Date: Mon, 20 Aug 2001 14:55:44 +0000
Subject: Bug #11000 Updated: ftp_connect(...) produces ftpbuf 0 "error"
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-63848@lists.php.net to get a copy of this message
ID: 11000 Updated by: sniper Reported By: kniprath.l@wver.de Status: Feedback Bug Type: FTP related Operating System: NT 4.0 PHP Version: 4.0.4pl1 New Comment: What was the result? Does fopen("http://...") or fopen("ftp://...") work for you? --Jani Previous Comments: ------------------------------------------------------------------------ [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.l@wver.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 ------------------------------------------------------------------------ [2001-05-21 21:15:19] kniprath.l@wver.de 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] sniper@php.net Have you tried with some public ftp-server? Does it work then? And what is the full error message? --Jani ------------------------------------------------------------------------ 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/?id=11000 Edit this bug report at http://bugs.php.net/?id=11000&edit=1

« previous php.dev (#63848) next »