Последнее обновление!
У вас более 1 ошибки в ваших кодах,
вы используете FTPS в URL-адресе, который требует проверки SSL, и его ложный код в ваших кодах.
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
не поддерживает истину, поэтому они должны быть похожи на предупреждение @dharman в другом ответе.
Но для включения ssl true потребуется другая настройка, такая как cacert
файл и т. д., например
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 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.
person
Dlk
schedule
26.01.2020
if(curl_errno($ch)){ throw new Exception(curl_error($ch)); }
- person Dlk   schedule 26.01.2020curl -u user:password 'ftps://mysite/%2fusers/myfolder/myfile/csv' -o ~/folder/link.csv
- person Dlk   schedule 26.01.2020$error_no
? - person Nigel Ren   schedule 26.01.2020