解決cURL 中的SSL/TLS 握手錯誤
使用cURL 使用SSL/TLS 協定建立安全連線時,您可能會遇到以下錯誤訊息「SSL/TLS 握手中的某處出現問題。」這表示cURL和遠端伺服器之間的身份驗證和加密過程中出現問題。
儘管嘗試了常見的解決方案,例如停用 SSL 驗證 (CURLOPT_SSL_VERIFYPEER) 和設定 CA 憑證 (CURLOPT_CAINFO),但問題仍然存在。
解決方案:
這個問題的根本原因在於cURL缺少內建根證書。大多數現代瀏覽器都包含根證書,但 cURL 需要名為「cacert.pem」的受信任憑證授權單位 (CA) 檔案的明確路徑。
要解決此問題,請依照下列步驟操作:
curl_setopt($ch, CURLOPT_CAINFO, '/path/to/cert/file/cacert.pem');
此CA 檔案包含受信任的根證書,允許cURL 在SSL/TLS 握手期間驗證伺服器的憑證。如果沒有此文件,驗證過程將失敗,從而導致握手錯誤訊息。
完成這些步驟後,您應該可以使用 cURL 建立安全的 HTTPS 連線。
以上是如何解決 cURL 中的「SSL/TLS 握手中出現問題」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!