我見過當PHP與和版本捲曲使用Apple's Secure Transport約塞米蒂下的URL請求的目標編譯器不支持的SSLv3(這是由於POODLE vulnerability可能禁用)這個錯誤發生。這個命令的輸出是什麼?
$ php -i | grep "SSL Version"
我懷疑你會看到這一點:
SSL Version => SecureTransport
您可以通過安裝PHP的版本,它使用一個版本的捲曲度,它使用OpenSSL的,而不是SecureTransport克服這一點。這很容易通過homebrew完成。所以如果你還沒有安裝它,那就先安裝它。如果安裝了自制軟件,但升級到優勝美地後還沒有運行brew update
,請先執行此操作。還要確保你已經安裝了XCode> = 6.1和最新的XCode命令行工具。 brew doctor
會告訴你,如果你做得很好。
添加自制水龍頭下面,你將需要爲了得到釀造的PHP安裝。如果這些回購已被點擊,請跳過此步驟。如果您不確定是否已經輕點這些回購,請運行以下命令。最壞的情況,你會得到一個無害的Warning: Already tapped!
$ brew tap homebrew/dupes
$ brew tap homebrew/versions
$ brew tap homebrew/php
然後安裝捲曲使用OpenSSL:
$ brew install --with-homebrew-curl --with-httpd24 php55
:
$ brew install --with-openssl curl
然後使用您剛纔安裝的捲曲和釀造的OpenSSL安裝PHP
如果使用apache,請確保將LoadModule php5_module /usr/local/opt/php55/libexec/apache2/libphp5.so
添加到您的/etc/apache2/httpd.conf
並重新啓動apache。
如果不使用apache 2.4,可以從上面的命令中刪除--with-httpd24
。
如果使用nginx的,遵循開始FPM告誡instuctions:
要在啓動時啓動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
安裝任何PHP擴展你需要例如。 mcrypt
。
$ brew install php55-mcrypt
大功告成後,再次運行此:
$ php -i | grep "SSL Version"
,你應該看到:
SSL Version => OpenSSL/1.0.2h
而現在,重新測試你的應用程序和SSLRead() return error -9806
應該走開。
爲什麼會投票???這是我遇到的一個真正的問題,無法在Google找到任何好的解決方案 – Mattijs 2014-10-22 00:58:39
澄清:我將本地MB上的POST捲曲到外部HTTPS APi – Mattijs 2014-10-24 04:01:15
您可能已經得到了downvote,因爲雖然這是一個完全合理的問題,但它是脫離主題 - 它應該真的在Serverfault上。 – Synchro 2015-02-02 12:23:42