停用 CURLOPT_SSL_VERIFYPEER
PHP 的 CURL 庫提供了在 HTTPS 請求期間驗證 SSL 憑證的選項。但是,某些使用者可能會遇到使用 CURLOPT_SSL_VERIFYPEER 停用驗證似乎無效的問題。升級 CURL 庫後會出現此問題。
故障排除與解決方案
要解決此問題,請考慮以下措施:
-
驗證證書路徑: 確保為CA 憑證提供的路徑(使用CURLOPT_CAINFO 和CURLOPT_CAPATH)正確且可由伺服器存取。
-
將 CURLOPT_SSL_VERIFYHOST 設定為 0:此選項檢查SSL 對等憑證中是否有一般名稱。將其設為 0 將停用主機驗證。
-
庫更新後重新啟動 Apache:更新 CURL 庫後,重新啟動 Apache 伺服器以確保變更生效。
-
在 php.ini 中停用 CURLOPT_SSL_VERIFYPEER:將curl.cainfo=/path/to/certificate.pem 新增至 php.ini 檔案以停用系統範圍內的驗證。
-
停用會話:將特定 CURL 會話的 CURLOPT_SSL_VERIFYPEER 設為 0 以停用驗證。
其他注意事項
- 停用 SSL 驗證會損害安全性。僅在絕對必要時使用此選項。
- 如果伺服器憑證無效或不可信,驗證它可能會導致錯誤。
- CURLOPT_CAPATH 允許指定包含多個 CA 憑證的目錄。
按照以下步驟操作,您應該可以成功停用 CURLOPT_SSL_VERIFYPEER 並執行 HTTPS 請求,而不會遇到 SSL 憑證錯誤。
以上是為什麼升級CURL庫後禁用CURLOPT_SSL_VERIFYPEER無效?的詳細內容。更多資訊請關注PHP中文網其他相關文章!