Apabila cuba menggunakan cURL untuk menghantar permintaan ke URL yang memerlukan SSL, mesej ralat yang menunjukkan "ditandatangani sendiri sijil dalam rantaian sijil" mungkin ditemui.
Ralat ini berlaku kerana cURL tidak dapat mengesahkan sijil SSL yang dikemukakan oleh pelayan jauh. Ini boleh berlaku jika sijil ditandatangani sendiri, bermakna ia tidak dikeluarkan oleh pihak berkuasa sijil yang dipercayai (CA).
Untuk menyelesaikan isu ini, anda boleh melumpuhkan pengesahan sijil SSL cURL secara manual. Walau bagaimanapun, ini tidak disyorkan kerana ia boleh menjejaskan keselamatan aplikasi anda.
Sebaliknya, anda harus memastikan bahawa pemasangan PHP yang digunakan oleh cURL mempunyai himpunan sijil akar CA yang sah. Himpunan ini digunakan oleh cURL untuk mengesahkan ketulenan sijil SSL pelayan.
Anda boleh memuat turun berkas sijil akar CA yang terkini dari sini: http://curl.haxx.se/docs/ caextract.html
Setelah dimuat turun, konfigurasikan PHP untuk menggunakan berkas dengan menetapkan pilihan curl.cainfo dalam php.ini kepada laluan mutlak sijil fail.
curl.cainfo = <absolute_path_to>/cacert.pem
Sebagai alternatif, anda boleh mengkonfigurasi sijil CA pada masa jalan menggunakan pilihan CURLOPT_CAINFO:
curl_setopt($ch, CURLOPT_CAINFO, dirname(__FILE__)."/cacert.pem");
Dengan menyediakan berkas sijil akar CA yang sah, cURL akan dapat mengesahkan sijil SSL pelayan dan wujudkan sambungan selamat.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat cURL 60: Masalah Sijil SSL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!