【问题标题】:Fatal Error with message 'Class 'himiklab\yii2\recaptcha\ReCaptchaValidator' not found'消息“未找到类 'himiklab\yii2\recaptcha\ReCaptchaValidator' 的致命错误”
【发布时间】:2017-10-12 12:29:08
【问题描述】:

我正在尝试为我用 PHP 和 Yii2 编写的项目实现 recaptcha,我正在使用 himiklab's 小部件。 我尝试按照自述文件中提到的步骤进行操作,但无法正常工作。

我尝试在 composer.json 文件中添加小部件规则,并在终端上进行了作曲家更新,我看到如下。

我什至尝试使用 composer require --prefer-dist "himiklab/yii2-recaptcha-widget" "*" 使用 composer 安装它,我得到与上图相同的错误。

我的代码: 注册表单.php

 public function rules() { 
    return [ ... 
  [['reCaptcha'],\himiklab\yii2\recaptcha\ReCaptchaValidator::SignupForm(), 'secret' => 'secretkey', 'uncheckedMessage' => 'Please confirm that you are not a bot.'] 
    ]; 
    }

signup.php(查看)

<?= $form->field($model, 'reCaptcha')->widget(\himiklab\yii2\recaptcha\ReCaptcha::SignupForm(),['siteKey' => 'sitekey']) ?>

main.php

return [ 
'components' => [ 'reCaptcha' => [ 'name' => 'reCaptcha', 'class' => 'himiklab\yii2\recaptcha\ReCaptcha', 'siteKey' => 'siteKey', 'secret' => 'secretKey', ], 
... 
]

当我忽略了使用 composer 安装小部件并继续在 composer.json 文件 "himiklab/yii2-recaptcha-widget" : "*" 中添加小部件并运行应用程序时,我看到了标题中提到的错误。

有人遇到过同样的问题吗?有人可以帮我解决这个问题。 TIA

【问题讨论】:

  • 这些错误看起来与您正在谈论的 recaptcha 包无关
  • @RobbieAverill 是的。即使我这么认为。但是当我尝试使用 composer 安装小部件时,我在控制台中看到了这个

标签: php yii2 yii2-advanced-app


【解决方案1】:

也许你忘了安装 fxp-asset 插件:

php composer.phar global require "fxp/composer-asset-plugin:^1.2.0"

【讨论】:

  • stackoverflow.com/a/36672628/6392794。 composer也有同样的问题
  • 它没有帮助。我尝试做同样的事情,但问题仍然存在。我在我的项目文件夹中,然后在运行上面的代码后尝试进行作曲家更新或版本,它显示了相同的错误。请在此处找到image
  • 您是否尝试过以下说明: 1. 删除 vendor/ 和 composer.lock。 2.用composer global remove "fxp/composer-asset-plugin"删除全局插件。 3. 删除主目录中的.composer 目录。 4. 如果你的composer.json"fxp/composer-asset-plugin": "*" 删除它。 5.在这些之后运行composer global require fxp/composer-asset-plugin --no-plugins
  • 如果不能解决这个问题,请使用asset-packagist而不是fxp/composer-asset-plugin。它比 composer-asset-plugin 更快更容易。从您的 composer.json 中删除 "extra": { "asset-installer-paths": { "npm-asset-library": "vendor/npm", "bower-asset-library": "vendor/bower" } }, 并在此处添加存储库部分:"repositories": [ { "type": "composer", "url": "https://asset-packagist.org" } ],。在这些之后将'@bower' =&gt; '@vendor/bower-asset' 添加到配置的别名部分。
猜你喜欢
  • 1970-01-01
  • 2017-08-16
  • 2014-08-11
  • 2017-07-27
  • 2012-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多