Ralat Sambungan HTTPS dengan cURL: Menyelesaikan Kandungan 0 Panjang
Apabila membuat sambungan HTTPS selamat dengan cURL, pengguna mungkin menghadapi ralat berterusan di mana kandungan yang dikembalikan adalah panjang sifar. Isu ini boleh menjadi sangat mengecewakan, terutamanya apabila menggunakan cURL untuk penyepaduan get laluan pembayaran.
Punca Isu
Punca asas ralat ini biasanya terletak pada pengesahan sijil proses. cURL bergantung pada sijil pihak berkuasa sijil (CA) pra-pakej untuk mengesahkan sambungan HTTPS. Walau bagaimanapun, sijil ini mungkin menjadi lapuk dari semasa ke semasa, yang membawa kepada kegagalan sambungan.
Penyelesaian
Untuk menyelesaikan isu ini, sijil CA yang sudah lapuk mesti digantikan dengan versi yang dikemas kini .
1. Penggantian Manual
a. Lawati http://curl.haxx.se/ca/cacert.pem dan muat turun fail sijil CA terkini (cacert.pem).
b. Simpan fail ke direktori yang sesuai pada pelayan anda.
c. Dalam permintaan cURL anda, tambahkan baris berikut:
curl_setopt ($ch, CURLOPT_CAINFO, dirname(__FILE__)."/cacert.pem");
Ini akan mengarahkan cURL untuk menggunakan fail sijil CA yang dikemas kini untuk pengesahan sambungan.
2. Konfigurasi PHP.ini
a. Buka fail php.ini anda.
b. Tambahkan baris berikut:
curl.cainfo=/etc/ssl/certs/ca-certificates.crt
Ini akan mengkonfigurasi PHP untuk menggunakan stor sijil CA yang dipercayai sistem secara automatik untuk semua sambungan cURL.
3. Pakej Komposer
Untuk penyelesaian yang lebih mantap, pertimbangkan untuk menggunakan pakej komposer paragonie/kepastian. Pakej ini menyediakan cara yang mudah untuk mengurus sijil CA dan memastikan kesahihannya.
Petua Tambahan
Atas ialah kandungan terperinci Mengapa Sambungan HTTPS cURL Saya Mengembalikan Kandungan Panjang 0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!