在OSX 10.10 Yosemite 上Curl POST 到HTTPS URL 時出現SSLRead() 錯誤
問題: >
升級到OSX 10.10 Yosemite 後,對HTTPS URL 的CURL POST 請求失敗,並出現錯誤:Error Number:56 Error String:SSLRead() return error -9806
當PHP 運行時會發生錯誤使用在此Yosemite 下使用Apple 安全傳輸的cURL 版本編譯,目標網址 不支援SSLv3。
解決方案:要解決此問題,請安裝使用 cURL 版本的 PHP 版本,該版本使用 OpenSSL 而不是安全傳輸。步驟如下:
1.檢查 cURL 版本:如果輸出為“SecureTransport”,請繼續下一步。
php -i | grep "SSL Version"
brew install homebrew/core/homebrew brew update
brew tap homebrew/dupes brew tap homebrew/versions brew tap homebrew/php
brew install --with-openssl curl
brew install --with-homebrew-curl --with-httpd24 php55
將以下行加入/etc/apache2/httpd.conf:
LoadModule php5_module /usr/local/opt/php55/libexec/apache2/libphp5.so
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擴充(可選):
brew install php55-mcrypt
9.驗證OpenSSL:
php -i | grep "SSL Version"
以上是如何修復 OSX 10.10 Yosemite 上的 Curl POST 請求中的「SSLRead() 回傳錯誤 -9806」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!