首頁 > 後端開發 > php教程 > 如何修復 OSX 10.10 Yosemite 上的 Curl POST 請求中的「SSLRead() 回傳錯誤 -9806」?

如何修復 OSX 10.10 Yosemite 上的 Curl POST 請求中的「SSLRead() 回傳錯誤 -9806」?

Patricia Arquette
發布: 2024-11-02 00:46:30
原創
833 人瀏覽過

How to Fix

在OSX 10.10 Yosemite 上Curl POST 到HTTPS URL 時出現SSLRead() 錯誤

問題: >

升級到OSX 10.10 Yosemite 後,對HTTPS URL 的CURL POST 請求失敗,並出現錯誤:

1

2

Error Number:56

Error String:SSLRead() return error -9806

登入後複製
原因:

當PHP 運行時會發生錯誤使用在此Yosemite 下使用Apple 安全傳輸的cURL 版本編譯,目標網址 不支援SSLv3。

解決方案:

要解決此問題,請安裝使用 cURL 版本的 PHP 版本,該版本使用 OpenSSL 而不是安全傳輸。步驟如下:

1.檢查 cURL 版本:

如果輸出為“SecureTransport”,請繼續下一步。

1

php -i | grep "SSL Version"

登入後複製
登入後複製

2.安裝自製程式:

1

2

brew install homebrew/core/homebrew

brew update

登入後複製
3.點選所需的儲存庫:

1

2

3

brew tap homebrew/dupes

brew tap homebrew/versions

brew tap homebrew/php

登入後複製
4。使用 OpenSSL 安裝 cURL:

1

brew install --with-openssl curl

登入後複製
5。使用 Homebrew cURL 和 OpenSSL 安裝 PHP:

1

brew install --with-homebrew-curl --with-httpd24 php55

登入後複製
6.設定 Apache(如果使用):

將以下行加入/etc/apache2/httpd.conf:

1

LoadModule php5_module    /usr/local/opt/php55/libexec/apache2/libphp5.so

登入後複製
7.為nginx 啟動PHP-FPM(如果使用):

1

2

3

mkdir -p ~/Library/LaunchAgents

cp /usr/local/opt/php55/homebrew.mxcl.php55.plist ~/Library/LaunchAgents/

launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist

登入後複製

8 .安裝PHP擴充(可選):

1

brew install php55-mcrypt

登入後複製

9.驗證OpenSSL:

1

php -i | grep "SSL Version"

登入後複製
登入後複製
輸出應顯示「OpenSSL/1.0.2h。」

現在,您對HTTPS URL 的CURL POST請求應該成功,且不會出現 SSLRead() 錯誤.

以上是如何修復 OSX 10.10 Yosemite 上的 Curl POST 請求中的「SSLRead() 回傳錯誤 -9806」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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