【问题标题】:ftp_nlist command not workingftp_nlist 命令不起作用
【发布时间】:2023-04-08 21:35:01
【问题描述】:

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

$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)

【问题讨论】:

    标签: php ftp


    【解决方案1】:

    原来这与服务器的防火墙配置有关。 登录后切换到被动模式,一切正常。

    ftp_pasv($connectionId, true);
    

    【讨论】:

    • 对我来说同样的问题。非常感谢这个提示!
    • 旧帖子但不错的建议。这就像一个魅力。
    猜你喜欢
    • 2016-07-13
    • 1970-01-01
    • 1970-01-01
    • 2012-01-03
    • 2014-09-28
    • 2018-11-14
    • 2012-08-27
    • 2014-11-25
    相关资源
    最近更新 更多