Мы имеем в cron'й работаем на нашем сервере, который загружает данные из MeteoConsult, что некоторая нидерландская погода-отчет компания ... вещь ...Curl FTP соединение
Во всяком случае, в основном скрипт загружает XML файл с использованием FTP через cURL, который затем анализируется с помощью SimpleXML. Через неделю или две назад он решил умереть случайно и убить нашу радость от наблюдения за погодой. Я невежественна. Данные FTP верны и были проверены. Сервер Meteo не блокирует IP-адрес сервера, на котором работает cron-задание.
Почему разработчик использовал cURL для скачивания файла по FTP, для меня действительно является загадкой. Когда я запускаю скрипт на другом сервере, он работает.
С этой информацией я предполагаю, что либо мы используем «старомодный» способ, либо не работает с новыми версиями cURL/PHP, хотя я не мог найти никакой информации об этом, или брандмауэр нашего сервера блокирует связь.
Вот (часть) сценарий:
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,"ftp://username:[email protected]/file.xml");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 300);
curl_setopt($curl, CURLOPT_FTP_USE_EPSV, 0);
$xml = curl_exec($curl);
$status = curl_getinfo($curl);
curl_close($curl);
// At this point, $xml is NULL
Что случилось с этим сценарием? Если нет, вы, ребята, знаете, что может быть проблемой?
PHP version: 5.2.12
libcurl version: 7.20.0
Большое спасибо заранее.
Вы пытались проверить наличие ошибок? http://php.net/manual/en/function.curl-error.php – Znarkus
@ Znarkus Хорошая точка! 'string (24)" не удалось подключиться к хосту ". Тем не менее, это еще не совсем понятно. –
Можете ли вы подключиться к FTP с сервера, используя командную строку 'curl' или' ftp'? – Znarkus