we build a huge file transfer script that fetches ftp data from an external server and puts it to our main server. So we setup a passive ftp-connection and start the php-script via shell/cronjob.
Currently we are trying to fetch 5000 files and it breaks after 2000 files and about 3 minutes.
This is the output:
[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
And here is how we setup the connection:
$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;
}
This is how we put the files:
if (!ftp_put($this->ftp_conn, $remote_file, $local_file, FTP_BINARY))
return ('error');
Any ideas on why this stops working after a specific amount of time?