PHP ftp_connect()始终返回false,第一个使用的ftp服务器除外。。!

PHP ftp_connect()始终返回false,第一个使用的ftp服务器除外。。!,php,ftp,firewall,Php,Ftp,Firewall,问题是.. 我刚刚在我的服务器上第一次使用了ftp_connect() <?php $ftp_connect = ftp_connect('ftp.server.com') or die('<b>FTP Connection Error ...</b>'); $login_result = ftp_login($ftp_connect, 'ftp_username','ftp_password') or die('<b>FTP Login Error .

问题是..
我刚刚在我的服务器上第一次使用了ftp_connect()

<?php
$ftp_connect = ftp_connect('ftp.server.com') or die('<b>FTP Connection Error ...</b>');
$login_result = ftp_login($ftp_connect, 'ftp_username','ftp_password') or die('<b>FTP Login Error ...Check Your UserName and Password</b>');
ftp_pasv($ftp_connect,true);    
?>

它运行良好,返回的结果为真。ftp服务器(ftp.server.com)的每件事都运行良好

然后下一次我使用同一台服务器,一切都很好…但是 当我尝试使用另一台服务器(例如:ftp.server2.com)时,它返回false,即找不到主机。。!! 我和我所有的朋友都试过ftp服务器,除了那个(ftp.server.com)服务器外,其他服务器都无法连接 到底发生了什么。。。为什么会发生这种情况,我如何解决这个问题。。。现在我无法连接任何ftp服务器(除了我的ftp.server.com)。。。。 Thanx提前

上面的东西在我的电脑上运行良好(IIS,PHP5.3.8)

更新: 啊。。。。。。。解决了问题。。。。但没有找到解决办法。!!!! 服务器(这里:ftp.server.com)的IP地址与托管上述php的主机服务器的IP地址相同。。。。然后ftp_connect()就开始工作了。。。。 原因是ftp和http主机都来自同一个web主机提供商


现在很清楚,(我认为)防火墙是所有问题的主要原因。。。。如何修复防火墙。。。??请帮忙。。。。Thanx再次..

您没有指定端口号。如果不指定端口号,PHP将使用
21
作为默认端口号。此脚本可能对第一台服务器有效,因为它在端口21上运行,但其他服务器可能会失败,因为它们在不同的端口上运行。询问您的朋友他们正在使用的端口,或者使用类似的方法自己查找。

您是否100%确定下一台服务器有效?您可以从FTP客户端连接到它吗?您可以使用其他工具连接FTP.server2.com吗?请验证您的服务器是否能够解析服务器名称:可以帮助解决此问题。是的,它可以!!结果我得到了ip地址..ftp\u connect返回false并不意味着主机未找到是唯一可能的错误。主机无法访问、连接被拒绝等。。。首先修复错误消息。不,所有服务器都在端口21上运行,我还检查了端口,甚至超时[ftp_connect(ftp.server2.com,21150)]。。。