簡介
嘗試存取時透過PHP的REST 服務,使用者可能會遇到與SSL 操作失敗和憑證驗證相關的錯誤。本文旨在全面了解這些問題並提供可行的解決方案。
錯誤調查
提供的 PHP 程式碼片段顯示錯誤,表示 SSL 操作失敗以及無法驗證伺服器憑證。這些錯誤通常是由於 PHP 升級或特定伺服器配置引起的。
解決憑證驗證失敗
要解決憑證驗證問題,請參閱官方PHP 文件(http ://php.net/manual/en/migration56.openssl. php)。根據文檔,其他參數必須設定為 false:
"verify_peer" => false, "verify_peer_name" => false,
安全實作
需要注意的是,停用憑證驗證會帶來重大安全風險。這可能允許攻擊者使用無效憑證攔截和破壞請求。因此,只有在完全理解安全影響且替代配置不可行時才應使用此解決方案。
替代解決方案
在採用不安全的解決方案之前,請考慮驗證伺服器上是否正確安裝和配置了所需的憑證。諮詢伺服器管理員,確保啟用必要的 OpenSSL 模組並且憑證受信任。
實施
應用修改後的PHP 代碼片段和附加內容參數:
$arrContextOptions = array( "ssl" => array( "verify_peer" => false, "verify_peer_name" => false, ), ); $response = file_get_contents("https://maps.co.weber.ut.us/arcgis/rest/services/SDE_composite_locator/GeocodeServer/findAddressCandidates?Street=&SingleLine=3042+N+1050+W&outFields=*&outSR=102100&searchExtent=&f=json", false, stream_context_create($arrContextOptions)); echo $response;
結論
透過採用上述解決方案,使用者應該能夠解決透過PHP 存取REST 服務時SSL操作失敗和證書驗證錯誤的問題。但是,必須盡可能確保正確的憑證配置來優先考慮安全性。
以上是為什麼我的 PHP SSL 操作失敗並顯示程式碼 1,如何修復憑證驗證問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!