Ho un po 'di codice che trasferisce i backup dai nostri server di sviluppo, e sembra in modo casuale a comportarsi in modo molto strano e dando i seguenti errori/uscita:Attenzione: ftp_get(): Cancellare un'operazione di successo
Warning: ftp_get(): Delete operation successful. in /root/cron/get_dev_archives.php on line 106
ERR blahjob: Failed to get file: 2013-09-25_18-22-04-blahjob_dev18.tgz
PHP Warning: ftp_get(): Delete operation successful. in /root/cron/get_dev_archives.php on line 106
Warning: ftp_get(): Delete operation successful. in /root/cron/get_dev_archives.php on line 106
ERR blahjob: Failed to get file: 2013-09-25_18-22-37-blahjob_dev19.tgz
PHP Warning: ftp_get(): Delete operation successful. in /root/cron/get_dev_archives.php on line 106
Warning: ftp_get(): Delete operation successful. in /root/cron/get_dev_archives.php on line 106
ERR blahjob: Failed to get file: 2013-09-25_18-23-05-blahjob_dev5.tgz
PHP Warning: ftp_get(): Delete operation successful. in /root/cron/get_dev_archives.php on line 106
Warning: ftp_get(): Delete operation successful. in /root/cron/get_dev_archives.php on line 106
ERR blahjob: Failed to get file: 2013-09-25_18-23-37-blahjob_dev33.tgz
Non ho la minima idea di cosa abbia a che fare l'eliminazione con ftp_get()
o il motivo per cui restituisce false
e lancia un avviso sul successo di un'altra operazione. Google non è stato di aiuto nel trovare problemi simili.
codice in questione:
// ftp connection established, file list acquired, yadda yadda
foreach($targets as $target) {
$localfile = $backup_dir . $target;
if(file_exists($localfile)) {
do_log($task['name'], "Local file ".$target." already exists, skipping.", 1);
continue;
}
if(! ftp_get($conn, $localfile, $target, FTP_BINARY)) { // line 106
do_log($task['name'], "Failed to get file: ".$target, 2);
} else {
do_log($task['name'], "Got file: ".$target);
ftp_delete($conn, $target);
}
}
Quale impostazione del server stai utilizzando? Il locale, dove è in esecuzione questo script php. – idmean
@wumm CentOS 5.7 server con PHP 5.2.10, questo script viene eseguito tramite CLI/cron. – Sammitch
Puoi mostrare loro array con i tuoi obiettivi? E stavi definendo '$ task ['nome']'> – Perry