В настоящее время я использую PHP в файле Cron для анализа записей из базы данных MySQL и форматирования данных в сторонние спецификации (файлы CSV).
Я генерирую текстовые файлы без проблем,но когда я захожу на FTP, ftp_connect () возвращает false.
Некоторое время работало;файл cron при запуске в моем браузере показывал успешную передачу.Теперь он неожиданно завершается с ошибкой в ftp_connect () (возвращает false, при таком условии я повторяю "Не удалось передать файл. ( path / file.txt ): сбой FTP: не удалось подключиться к ftp.website.com").
Вышеуказанное выражение ошибки генерируется из этого:
try {
$conn_id = $this->connect_ftp($host, $username, $password, $port);
} catch(Exception $e){
throw new Exception('<strong>FTP failure:</strong> ' . $e->getMessage());
}
и connect_ftp ():
$conn_id = ftp_connect($host);
if($conn_id === false){
throw new Exception('Failed to connect to '.$host);
}
У меня естьпроверил целевые серверы индивидуально, и они получали файлы время от времени, но последовательно в течение последней недели (т. е. самый последний - 21-й, а затем 19-й), хотя cron запускается каждую ночь.
Я зацикливаюсьчерез массив форматов файлов и учетные данные FTP для последовательного создания файла, сохранения его локально, а затем передачи.
Нужно ли прерывать передачу с помощью sleep ()?