在 OSX 10.10 上向 HTTPS URL 發出 Curl POST 請求時如何解決「SSLRead() 回傳錯誤 -9806」?

Susan Sarandon
發布: 2024-10-31 08:28:02
原創
362 人瀏覽過

How to Solve

OSX 10.10 Curl POST 到HTTPS URL:解決SSLRead() 錯誤

升級到OSX 10.10 Yosemite

升級到OSX 10.10 Yosemite 後,用戶在以下情況下遇到到錯誤對SSL URL 執行Curl POST 請求。錯誤訊息「Error Number:56, Error String:SSLRead() return error -9806」表示SSL連線有問題。

調查,發現此錯誤與版本有關cURL 在 Yosemite 下用 PHP 編譯。預設情況下,PHP 使用 cURL 的 SecureTransport,由於 POODLE 漏洞而停用 SSLv3 的網站可能會遇到問題。

    要解決此問題,您需要安裝使用 OpenSSL 而不是 SecureTransport 的 PHP 版本對於捲曲。這可以透過 Homebrew(macOS 的套件管理器)來完成。安裝Homebrew 後,請按照以下步驟操作:
  1. $ brew tap homebrew/dupes
    $ brew tap homebrew/versions
    $ brew tap homebrew/php
    登入後複製
    點擊Homebrew 水龍頭:
  2. $ brew install --with-openssl curl
    登入後複製
    使用openssl 安裝curl:
  3. $ brew install --with-homebrew-curl --with-httpd24 php55
    登入後複製
    使用新安裝的curl 和openssl 安裝PHP:
  4. 為Apache 或Nginx 設定PHP。
安裝您安裝的任何PHP 擴充功能require.

$ php -i | grep "SSL Version"
登入後複製
完成這些步驟後,執行以下命令:

SSL Version => OpenSSL/1.0.2h
登入後複製
您現在應該看到:

使用OpenSSL對於cURL,當您嘗試向HTTPS URL 發起Curl POST 請求時,不應再出現SSLRead() 錯誤。

以上是在 OSX 10.10 上向 HTTPS URL 發出 Curl POST 請求時如何解決「SSLRead() 回傳錯誤 -9806」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!