對file_get_contents() SSL 憑證驗證錯誤進行故障排除
在PHP 5.6 中嘗試使用file_get_contents() 存取服務時,您存取可能會遇到由於憑證更嚴格,出現錯誤“SSL 操作失敗,代碼為1”
問題描述
使用者的 PHP 頁面嘗試使用 file_get_contents() 從 HTTPS 端點取得資料。但是,它失敗並出現以下錯誤:
Root原因
PHP 5.6 預設引入了更嚴格的 SSL 驗證,需要準確的憑證驗證。此錯誤表示客戶端無法驗證遠端伺服器的憑證。
解決方案
為了解決此問題,關於 5.6 中 OpenSSL 更改的官方 PHP 文件建議停用憑證驗證。 注意:此解決方案具有重大安全隱患,僅應在客戶端和伺服器之間建立信任的受控環境中考慮。
$arrContextOptions = array( "ssl" => array( "verify_peer" => false, "verify_peer_name" => false, ), ); $response = file_get_contents("remote_url", false, stream_context_create($arrContextOptions));
重要說明
停用 SSL憑證驗證會降低安全性,並可能使您的應用程式遭受竊聽和其他安全漏洞。強烈建議正確配置您的系統以使用受信任的 SSL 證書,而不是訴諸此解決方法。
以上是如何修正 PHP 的 `file_get_contents()` 中的「SSL 操作失敗,程式碼 1」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!