Последнее обновление!
В ваших кодах более 1 ошибки,
вы используете FTPS в URL, который требует проверки SSL, и его false в ваших кодах.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
//Dont use try! you shouldnt use
curl_setopt($ch, CURLOPT_FTP_SSL, CURLFTPSSL_TRY);
Они должны быть истинными: SSL
не поддерживает true, поэтому они должны быть похожи на следующие в @dharman warn в другом ответе.
Но чтобы установить ssl в true, потребуется другая настройка, например cacert
file et c. также
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 1);
//and include cacert.pem
curl_setopt($ch, CURLOPT_CAINFO, dirname(__FILE__) . '/cacert.pem');
Загрузите файл cacert здесь: https://curl.haxx.se/docs/caextract.html
2. Ваш URL не является истинным URL $ftp_server = 'ftps://'.'server/Voorraadtonen link.csv';
, этот URL будет ничего не получите, но он должен вернуть как минимум ошибку в error_log
файле, так как вы сказали, что все отчеты об ошибках включены
3.Ваш код должен выглядеть следующим образом
$curl = curl_init();
$file = fopen("link.csv", 'w');
curl_setopt($curl, CURLOPT_URL, "ftp://ftp.site.com/link.csv");
//Make sure for correct url
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($curl, CURLOPT_CAINFO, dirname(__FILE__) . '/cacert.pem');
//Make sure for correct url
curl_setopt($curl, CURLOPT_FILE, $file);
curl_setopt($curl, CURLOPT_USERPWD, "$_FTP[username]:$_FTP[password]");
//Make sure for your ftp credentials
curl_setopt($curl, CURLOPT_TIMEOUT, 20); //20 seconds will be enough
curl_exec($curl);
echo curl_errno($ch);
echo curl_error($ch);
curl_close($curl);
fclose($file);
еще 1 вещь левые заголовки не требуются, но в случае необходимости.
curl_setopt($curl, CURLOPT_HEADER, false); //Or
curl_setopt($curl, CURLOPT_HEADER, true);
Теперь он должен работать без проблем
ПРИМЕЧАНИЕ: Пример кода - это рабочий пример, который вы можете измените его в соответствии с вашими требованиями
ОБНОВЛЕНИЕ: После изменения вы сказали, что сделали это в своих кодах ( Все еще не показывает нам ), в конце концов мы получаем ошибку. еще раз прошу вас добавить модифицированный код в ваш вопрос.
Error_no 28 cURL error 28: Превышено время ожидания соединения
ошибка cURL 28 возникает при запросе cURL не завершено в определенное количество времени.
Это происходит, когда значение тайм-аута cURL установлено на слишком низкое значение или когда брандмауэр блокирует запрос cURL.
Другой возможностью является модуль безопасности, например, модуль Apache mod_security.
Чтобы исправить ошибку cURL 28, вы можете связаться с вашим хостинг-провайдером.
Так в основном!
Ваш сервер блокируется. Ваши учетные данные не соответствуют требуемым учетным данным. Сервер требует SSL, но вы его не настраиваете. Ваша функция работает с максимальными настройками ограничения памяти сервера.
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "ftp.site.com/link.csv");
//make sure your path to file is correct
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_USERPWD, "$_FTP[username]:$_FTP[password]");
//make sure your login credentials correct
curl_setopt($curl, CURLOPT_TIMEOUT, 500);
//Set timeout for connection
curl_exec($curl);
echo curl_errno($ch);
echo curl_error($ch);
//Get errors
curl_close($curl);
//Importand close curl connection.