2013-02-02 190 views
2

我正在使用ftp_get从另一个ftp服务器获取文件。ftp_get在本地主机上运行,​​但不在生产服务器上运行

我的代码在我的本地WAMP服务器上完美工作,但是当我将它应用到我的实际Web主机时,连接失败。

$conn = ftp_connect('ftp.server.com') or die('Could not connect'); 
ftp_login($conn,'myusername','mypassword'); 
$local_file = 'new/two.txt'; 
$remote_file = 'games/minecraft/craftbukkit/plugins/VisitCounter/config.yml'; 
$get = ftp_get($conn,$local_file,$remote_file,FTP_ASCII); 

if ($get){ 

    echo 'Connection Successful'; 
} else{ 

    echo 'Connection failure'; 
} 

exec($get); 
ftp_close($conn); 

我在想,建立ftp连接所需的东西必须在我的web服务器上禁用。

你们能协助吗?

感谢,

贾里德

+1

也许ftp端口在您的主机上被阻止? – 2013-02-02 16:09:18

+1

你得到了什么错误? –

+0

它可能是远程服务器上基于IP的连接筛选吗?即您的开箱IP已被列入白名单,但您的网站主机IP没有?你可以SSH入服务器并使用命令行'ftp'连接? – leftclickben

回答

2

服务器不是在被动模式下,你只需要使用PHP功能开启服务器的被动模式: -

$conn_id = ftp_connect($ftp_server); 

// login with username and password 

$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 

// turn passive mode on 

$ps = ftp_pasv($conn_id, true); 

希望它会工作。

+0

将FTP置于被动模式后为空 – Bugfixer

相关问题