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

时间:2016-07-07 09:26:28

标签: php ftp

我尝试使用以下代码(PHP 5.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():安全服务器禁止PORT重定向。

启用被动模式后,我甚至无法登录

  

ftp_login():在xxxxx上运行的Check Point FireWall-1安全FTP服务器

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

任何人都可以给我一些方向来解决这个问题吗?

由于

1 个答案:

答案 0 :(得分:0)

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

您需要设置已登录的被动模式 AFTER

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

这就是我无法以被动模式连接它的原因:(