私はGoogle Recaptchaライブラリ(https://github.com/google/recaptcha)を使ってフォームの提出を確認しています。これは何ヶ月もうまくいきました。この例外は、単純な要求(ライブラリ外)で断続的に複製することができGoogle Recaptcha file_get_contents():暗号を有効にできません
ErrorException: file_get_contents(): Failed to enable crypto in /vendor/google/recaptcha/src/ReCaptcha/RequestMethod/Post.php:68
(\ reCAPTCHAの\ reCAPTCHAのから呼び出さ::検証) :
file_get_contents('https://www.google.com/recaptcha/api/siteverify');
突然、私のようなエラーの多くを気づき始めました
エラーが発生すると、エラーを表示するまでに約52秒かかります。それ以外の場合は、すぐに成功します。このタイムアウト値がどこから来ているのか分かりません。以前の投稿では、このエラーはSSL3に関連していることが示唆されています(それはありません - 明らかにGoogleはTLS 1.2を使用していません)。私もcurlの最新のcacerts.pemファイルを使ってみましたが、問題は解決しません。
また、このURLをcurl(PHPまたはcliから)で引き出すことに問題はありません。
サーバは、Ubuntu 14.04でPHP 7.1.3を実行しています。私はではない私のローカルマシン上でこの問題を経験して、同じPHPをUbuntu 16.10で実行しているので、何とか関係があるのだろうかと思っています。私は本当にここに迷っています。私はライブラリをフォークし、file_get_contentsの代わりにcurlを使うように書き直すことができますが、それは最高の回避策のようです。
今日、私は全く同じ問題を抱えています(PHP 5でも)。あなたは解決策を見つけましたか? – MrCarrot
@MrCarrot、 'php.ini'に' default_socket_timeout = 360'を設定してみてください。それがあなたのサーバのOSとは何かを助けるかどうか確認してください。 –
それはネットワークの問題だった可能性はありますか?多分これは関連しているでしょうか? https://stackoverflow.com/questions/26148701/file-get-contents-ssl-operation-failed-with-code-1-and-more?rq=1 – am05mhz