gpt4 book ai didi

php - Google ReCaptcha 2 fatal error : Class 'ReCaptcha\RequestMethod\Post' not found

转载 作者:行者123 更新时间:2023-12-05 08:23:54 25 4
gpt4 key购买 nike

我是运行 wamp 的本地机器上的 google recaptcha v2。一切看起来都很好,除了它应该验证表单时它一直在死去

我收到这个错误:

Fatal error: Class 'ReCaptcha\RequestMethod\Post' not found in C:\wamp\www\php\contactForm\Captcha\ReCaptcha.php on line 73

我几乎从谷歌复制/粘贴示例代码:

if (!empty($human)) {
require_once('Captcha\ReCaptcha.php');
$recaptcha = new \ReCaptcha\ReCaptcha($secret);
$resp = $recaptcha->verify($human, $remoteIp);
if ($resp->isSuccess()) {
// verified!

我已经从谷歌 github ( https://github.com/google/recaptcha/tree/master/src/ReCaptcha ) 下载了文件,并使用了文件夹/files 的名称。我的验证文件位于上面的一个文件夹中,但我也尝试将这些文件复制到与验证脚本相同的文件夹中,以防万一。

有什么想法吗?

最佳答案

谷歌似乎相信每个人都使用 composer 安装他们的存储库这一事实。老实说,这是他们在他们的 github repo readme.md https://github.com/google/recaptcha 上提供的唯一安装方法。

当您使用 composer 安装诸如 google recaptcha 之类的软件包时,该软件包可以选择在 https://github.com/google/recaptcha/blob/master/composer.json 中使用自动加载器注册。

"autoload": {
"psr-4": {
"ReCaptcha\\": "src/ReCaptcha"
}
},

通过这种方式,您只需在脚本中包含 composer 在安装您的包时生成的 autoload.php 即可访问所有包类。

第 34 行:https://github.com/google/recaptcha/blob/master/examples/example-captcha.php

// Initiate the autoloader.
require_once __DIR__ . '/../vendor/autoload.php';

自动加载器是一个函数,当 php 被请求时,它会尝试加载一个类。在这种情况下,它将 namespace 映射到磁盘上的目录结构。

更多关于 php 自动加载器的信息:http://php.net/autoload在这里:http://www.php-fig.org/psr/psr-4/examples/

如果您不想使用 composer 及其自动加载功能,您可能会发现这很有用:https://github.com/abraham/twitteroauth它有一个你可以借用的 autoload.php,它可以在没有 Composer 的情况下加载类。

  1. 将它的副本放在你的 recaptcha 顶级文件夹中(里面有 README.md 的文件夹)
  2. 将第 12 行替换为 $prefix = 'ReCaptcha\\';
  3. 将第 15 行替换为 $base_dir = __DIR__ 。 '/src/ReCaptcha/';
  4. 在您的代码中某处需要 autoloader.php(此文件)
  5. 在您的代码中像这样实例化您的 ReCaptcha 对象new ReCaptcha\ReCaptcha($RECAPTCHASECRETKEY);

关于php - Google ReCaptcha 2 fatal error : Class 'ReCaptcha\RequestMethod\Post' not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29056472/

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