首頁 > 後端開發 > php教程 > 如何使用 PHP 5.6 和 GoDaddy SSL 解決'stream_socket_enable_crypto():SSL 操作失敗,代碼 1”錯誤?

如何使用 PHP 5.6 和 GoDaddy SSL 解決'stream_socket_enable_crypto():SSL 操作失敗,代碼 1”錯誤?

Linda Hamilton
發布: 2024-10-19 10:06:30
原創
394 人瀏覽過

How to Resolve

stream_socket_enable_crypto() 錯誤:SSL 操作失敗,程式碼1

在Amazon EC2 Linux 上使用PHPaddy S.6 和GoDaddyD. Mailgun 或其他SMTP 服務透過SSL 發送電子郵件時可能會出現錯誤:

stream_socket_enable_crypto(): SSL operation failed with code 1.
OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
登入後複製

根本原因

出現此錯誤是由於PHP 中引入了更嚴格的SSL 憑證驗證5.6.預設情況下,PHP 會根據憑證中的網域檢查URL 中的網域名稱。由於 GoDaddy 的 SSL 證書是通配符證書,因此與您伺服器的特定網域不符。

解決方案

有兩種方法可以解決此問題:

選項1:停用證書驗證

<code class="php">'stream' => [
    'ssl' => [
        'allow_self_signed' => true,
        'verify_peer' => false,
        'verify_peer_name' => false,
    ],
],</code>
登入後複製

警告:停用憑證驗證可能會危及應用程式的安全性。建議改用選項 2,或升級到 PHP 7.2 或更高版本。

選項 2:升級 PHP

PHP 版本 7.2 及更高版本包含此問題的修復問題。升級您的 PHP 版本將解決此錯誤並維護應用程式的安全性。

以上是如何使用 PHP 5.6 和 GoDaddy SSL 解決'stream_socket_enable_crypto():SSL 操作失敗,代碼 1”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板