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 無縫完成此操作。
-
安裝 Homebrew(如果尚未安裝)。更新它並確保您擁有 XCode 6.1 或更高版本以及最新的 XCode 命令列工具。
-
點擊Homebrew 儲存庫:
- $ brew tap自製軟體/欺騙
- $brew tapap/版本🎜>
$brew Tap自製軟體/php-
-
使用OpenSSL安裝curl:
使用OpenSSL安裝curl
-
使用新安裝的opensslcurl 安裝PHP :
- $brew install-withbrew homebrew-curl --with-httpd24 php55
- 將httpd24 替換為您的Apache 版本(如果適用)。
-
設定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
安裝必要的PHP 擴充- ,例如$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中文網其他相關文章!