Walaupun konfigurasi yang teliti, anda mungkin menghadapi "Masalah dengan SSL CA cert (path? access rights?)" ralat semasa menggunakan CURL dengan HTTPS dalam PHP. Isu ini boleh timbul selepas mengemas kini perpustakaan curl.
1. Lumpuhkan Pengesahan untuk Hos dan Rakan Sebaya:
<code class="php">curl_setopt($cHandler, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($cHandler, CURLOPT_SSL_VERIFYPEER, true);</code>
2. Dayakan CURLOPT_SSL_VERIFYPEER dan Tentukan Sijil CA:
<code class="php">curl_setopt($cHandler, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($cHandler, CURLOPT_CAINFO, getcwd() . "/positiveSSL.ca-bundle");</code>
3. Gunakan Sijil CA Bundle untuk Pelayan:
Begitu juga, anda boleh mencuba positiveSSL.ca-bundle yang disediakan oleh pelayan.
4. Kemas kini Tetapan PHP INI:
Konfigurasikan curl.cainfo dalam php.ini untuk menghala ke fail sijil CA.
5. Namakan semula Pangkalan Data NSS:
Namakan semula pangkalan data NSS buat sementara waktu untuk mengecualikan sijil seluruh sistem.
6. Kemas Kini Perpustakaan dan Mulakan Semula:
Memulakan semula sistem anda selepas mengemas kini perpustakaan boleh menyelesaikan isu ini.
7. Lumpuhkan Pengesahan Menggunakan CURLOPT_SSL_VERIFYHOST dan CURLOPT_SSL_VERIFYPEER:
Disyorkan apabila pengesahan tidak diperlukan.
<code class="php">curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);</code>
Jika tiada penyelesaian ini berfungsi, pertimbangkan untuk menaik taraf versi pustaka terbaharu. memulakan semula sistem anda. Sebagai alternatif, anda boleh berunding dengan pembekal pengehosan anda atau pentadbir pelayan untuk menentukan sama ada terdapat sebarang isu sijil tertentu yang menjejaskan persekitaran anda.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \'Masalah dengan SSL CA Cert\' Apabila Menggunakan CURL dengan HTTPS dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!