อัปเดตล่าสุด!
คุณมีข้อผิดพลาดมากกว่า 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
ไม่สนับสนุน true ดังนั้นพวกเขาควรจะเป็นเหมือนการติดตาม @dharman warn ในคำตอบอื่น
แต่การเปลี่ยน ssl เป็นจริงจะต้องมีการตั้งค่าอื่นเช่น cacert
file เป็นต้น
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