首頁 >後端開發 >php教程 >為什麼我的 Curl POST 到 HTTPS URL 失敗並在 OSX 10.10 上出現 SSLRead() 錯誤?

為什麼我的 Curl POST 到 HTTPS URL 失敗並在 OSX 10.10 上出現 SSLRead() 錯誤?

Susan Sarandon
Susan Sarandon原創
2024-11-02 22:57:301054瀏覽

Why Does My Curl POST to HTTPS URL Fail with SSLRead() Error on OSX 10.10?

OSX 10.10 Curl POST 到HTTPS URL 傳回SSLRead() 錯誤

當PHP 使用使用Apple 的cURL 版本編譯時,會出現此問題Yosemite 中的安全傳輸,並且目標HTTPS URL 缺乏SSLv3 支援- 這是由於POODLE 漏洞而採取的措施。

要驗證這是否確實是原因,請執行以下命令:

$ php -i | grep "SSL Version"

您可能會遇到以下輸出:

SSL Version => SecureTransport

要解決此問題,請安裝使用利用OpenSSL 而非SecureTransport 的cURL 版本的PHP 版本。您可以使用 Homebrew 無縫完成此操作。

  1. 安裝 Homebrew(如果尚未安裝)。更新它並確保您擁有 XCode 6.1 或更高版本以及最新的 XCode 命令列工具。
  2. 點擊Homebrew 儲存庫:

    • $ brew tap自製軟體/欺騙
    • $brew tapap/版本🎜>
    • $brew Tap自製軟體/php
  3. 使用OpenSSL安裝curl:

    使用OpenSSL安裝curl
      :
    • --with-opensslcurl
  4. 使用新安裝的opensslcurl 安裝PHP :

    • $brew install-withbrew homebrew-curl --with-httpd24 php55
    • 將httpd24 替換為您的Apache 版本(如果適用)。
  5. 設定Apache/Nginx:

    • Apache:
    • Apache:

        Nginx(警告):
        • 啟動fpm:
        • m /LaunchAgents
        • cp /usr/local/opt/php55/homebrew.mxcl.php55.plist ~/Library/LaunchAgents/
        launchctl load -w ~/Library/unchAunchm. .php55.plist
  6. 安裝必要的PHP 擴充
  7. ,例如$brew install php55-mcllpt。

      重新執行php -i | grep "SSL Version" 指令來確認變更:
    SSL Version => OpenSSL/1.0.2h

執行這些步驟後,SSLRead() 錯誤應該不再存在。

以上是為什麼我的 Curl POST 到 HTTPS URL 失敗並在 OSX 10.10 上出現 SSLRead() 錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn