解決了file_get_contents() 的SSL 逾時和加密啟用錯誤
在PHP 中,當使用file_get_contents() 從HTTPS 頁面檢索內容時,可能會遇到與SSL 加密啟用相關的錯誤。此類錯誤之一是:
Warning: file_get_contents(): SSL: crypto enabling timeout... Warning: file_get_contents(): Failed to enable crypto...
當 PHP 設定缺少為 SSL 連線啟用加密的必要設定時,就會出現此問題。為了修正這個問題,提出了以下解決方案:
將cURL 與SSLv3 結合使用
可以使用cURL 函式庫取代file_get_contents(),它可以更好地控制SSL 設定。將 CURLOPT_SSLVERSION 選項設為 3,將啟用 SSLv3,可能會解決問題:
設定 cURL 進行 SSL 驗證
在某些情況下,問題也可能源自於根憑證缺失或不完整。為了確保正確的 SSL 驗證,建議執行以下步驟:
curl_setopt($ch, CURLOPT_CAINFO, __DIR__ . "/certs/cacert.pem");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
透過實作這些解決方案,您可以解決相關的SSL 逾時和加密啟用錯誤使用PHP中的file_get_contents(),可讓您從HTTPS 頁面檢索內容,而無需進一步複雜化。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3