首页 > 解决方案 > PHP 警告:ftp_put():无法建立数据连接:不允许操作 - 一段时间后

问题描述

我们构建了一个巨大的文件传输脚本,它从外部服务器获取 ftp 数据并将其放入我们的主服务器。所以我们设置了一个被动的 ftp 连接并通过 shell/cronjob 启动 php-script。

目前我们正在尝试获取 5000 个文件,它在 2000 个文件和大约 3 分钟后中断。

这是输出:

[root vhosts]# /usr/local/psa/admin/bin/php  /var/www/vhosts/domain.com/httpdocs/fetchFTPdata.php user password action
PHP Warning:  ftp_get(): Unable to build data connection: Operation not permitted in /var/www/vhosts/domain.com/httpdocs/fetchFTPdata.php on line 771
PHP Warning:  ftp_put(): Unable to build data connection: Operation not permitted in /var/www/vhosts/domain.com/httpdocs/fetchFTPdata.php on line 551

以下是我们设置连接的方式:

$ftp_conn = ftp_ssl_connect($url, 21, 3600);
        if (!$ftp_conn)
            return false;
        if (@ftp_login($ftp_conn, $usname, $pwd)) {
            $this->ftp_conn = $ftp_conn;
            if (!ftp_pasv($ftp_conn, $true)) {
                $this->writeLog('Passive FTP-Mode not available.');
                return false;
            }
            return true;
        }

这是我们放置文件的方式:

if (!ftp_put($this->ftp_conn, $remote_file, $local_file, FTP_BINARY))
                return ('error');

关于为什么在特定时间后停止工作的任何想法?

标签: phpftp

解决方案


推荐阅读