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

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

How to Fix

在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"
登入後複製
登入後複製

2.安裝自製程式:

brew install homebrew/core/homebrew
brew update
登入後複製
3.點選所需的儲存庫:

brew tap homebrew/dupes
brew tap homebrew/versions
brew tap homebrew/php
登入後複製
4。使用 OpenSSL 安裝 cURL:

brew install --with-openssl curl
登入後複製
5。使用 Homebrew cURL 和 OpenSSL 安裝 PHP:

brew install --with-homebrew-curl --with-httpd24 php55
登入後複製
6.設定 Apache(如果使用):

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

LoadModule php5_module    /usr/local/opt/php55/libexec/apache2/libphp5.so
登入後複製
7.為nginx 啟動PHP-FPM(如果使用):

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"
登入後複製
登入後複製
輸出應顯示「OpenSSL/1.0.2h。」

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

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

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