gpt4 book ai didi

php - Google Recaptcha file_get_contents() : Failed to enable crypto

转载 作者:太空宇宙 更新时间:2023-11-03 13:06:17 24 4
gpt4 key购买 nike

我正在使用 Google Recaptcha 库 ( https://github.com/google/recaptcha ) 来确认表单提交。这几个月来一直运行良好。突然我开始注意到很多错误,例如:

ErrorException: file_get_contents(): Failed to enable crypto in /vendor/google/recaptcha/src/ReCaptcha/RequestMethod/Post.php:68

(从\ReCaptcha\ReCaptcha::verify 调用)可以通过一个简单的请求(在库外)间歇性地复制此异常:

file_get_contents('https://www.google.com/recaptcha/api/siteverify');

当它出错时,大约需要52秒超时才会显示错误,否则就立即成功。不知道这个超时值是从哪里来的。较早的帖子表明此错误与 SSL3 有关(事实并非如此——显然 Google 没有使用它,它使用的是 TLS 1.2)。我也尝试过使用最新的 cacerts.pem 文件(来自 curl),但问题仍然存在。

我也可以使用 curl(从 PHP 或 cli)提取该 URL。

服务器在 Ubuntu 14.04 上运行 PHP 7.1.3。我在我的本地计算机上没有遇到这个问题,在 Ubuntu 16.10 上运行相同的 PHP,所以我想知道这是否可能以某种方式相关。我真的很茫然。我知道我可以 fork 库并重写它以使用 curl 而不是 file_get_contents,但这似乎充其量是一种解决方法。

最佳答案

我会减少超时,因为用户不能等待 52 秒,就让它失败。

有时事情会失败,这没什么大不了的,只要您发现错误并向用户呈现“软”错误即可。

问题是当事情失败时让用户等待,我认为这不会传达良好的用户体验。

关于php - Google Recaptcha file_get_contents() : Failed to enable crypto,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42988178/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com