提问者:小点点

无法使用PHP访问FTP服务器,但可以通过命令行正常工作


我正在尝试使用以下代码(PHP5.4)访问FTP

// connect and login FTP
$conn = ftp_connect($host);
ftp_pasv($conn, true);
$login = ftp_login($conn, $user, $password);

// skip some code ...

// upload file
ftp_put($conn, $remote, $local, FTP_BINARY);

被动模式关闭,我可以登录没有问题,但上传文件时出错:

ftp_put():安全服务器禁止端口重定向。

打开被动模式时,我甚至无法登录

ftp_login():检查点FireWall-1安全ftp服务器在xxxxx上运行

我可以使用ftpunix命令在同一台机器上用同一个用户访问ftp服务器,没有任何问题,所以我真的很困惑。

谁能告诉我如何处理这个问题?

谢谢


共1个答案

匿名用户

在我发布这个问题后,我发现了这个愚蠢的错误:

登录后,您需要设置被动模式!

$conn = ftp_connect($host);
$login = ftp_login($conn, $user, $password);
ftp_pasv($conn, true);

这就是为什么我不能在被动模式下连接它:(