php – ftp_nlist命令不工作

我使用以下代码↓连接到ftp服务器并获取文件列表.它在我的本地机器(Fedora 11)上运行正常,但在生产(不运行Ubuntu)ftp_nlist方法返回false.

$ftpInfo = array('directory' => 'somewebsite.com',
                 'user' => 'someuser',
                 'password' => 'somepass',
                 'port' => 21,
                 'timeout' => 30);
$connectionId = ftp_connect($ftpInfo['directory'], 
                            $ftpInfo['port'], 
                            $ftpInfo['timeout']);

$loginResult = ftp_login($connectionId, $ftpInfo['user'], $ftpInfo['password']);

$files = ftp_nlist($connectionId, '.');

var_dump($files);
ftp_close($connectionId);

在我的机器上返回一个文件数组,在生产时返回false.

这使得这个特别令人讨厌的是,在这两种情况下,它都可以连接和登录并成功.

var_dump($loginResult);

回报

bool(true)
最佳答案
原来这与服务器的防火墙配置有关.
在登录后切换到被动模式,它工作正常.

ftp_pasv($connectionId, true);

转载注明原文:php – ftp_nlist命令不工作 - 代码日志