解決済み: OSX 10.10 Yosemite へのアップグレード後の HTTPS URL への Curl POST
「SSLRead() return error」というエラーが発生した場合OSX 10.10 Yosemite にアップグレードした後に「-9806」というエラーが発生した場合、あなたは一人ではありません。この問題は、SSL URL に対して Curl POST リクエストを行うときに発生します。
この問題は、現在、Yosemite で Apple の Secure Transport を採用する cURL バージョンで php がコンパイルされているという事実に起因します。ただし、これらのリクエストのターゲット URL の多くは、POODLE の脆弱性により無効になっている SSLv3 をサポートしていません。
解決策
この問題を解決するには、次の手順を実行します。 Secure Transport の代わりに OpenSSL で cURL を利用する php バージョンをインストールする必要があります。ステップバイステップのガイドは次のとおりです:
-
SSL バージョンの確認: コマンド「$ php -i | grep "SSL Version"」を実行して、cURL が SecureTransport を使用していることを確認します。 .
-
Homebrew をインストールします: まだインストールしていない場合は、ソフトウェア パッケージを管理するために Homebrew をインストールします。 Homebrew を更新し、必要なタップをインストールします: "$ brew Tap homebrew/dupes; brew Tap homebrew/versions; brew Tap homebrew/php."
-
OpenSSL で Curl をインストールします: "brew install - -with-opensslcurl."
-
php と Openssl をインストールします: "brew install --with-homebrew-curl --with-httpd24 php55."
-
Apache または Nginx を構成します:
-
Apache: 「LoadModule php5_module /usr/local/opt/php55/libexec/apache2/libphp5.so」を追加します。 「/etc/apache2/httpd.conf」に変更し、Apache を再起動します。
-
Nginx: fpm を開始するための注意事項に従ってください。
-
PHP 拡張機能のインストール: 「brew install php55-mcrypt」などの必要な PHP 拡張機能をインストールします。
-
SSL バージョンを再確認します: 「$ php -i | 」を実行します。 grep "SSL Version"" をもう一度実行して、OpenSSL が使用されていることを確認します。
これで、HTTPS URL への Curl POST リクエストを試行したときに「SSLRead() return error -9806」が表示されなくなります。
以上がOSX 10.10 Yosemite にアップグレードした後に「SSLRead() return error -9806」を修正する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。