我正在尝试将验证码添加到登录表单中。
我的环境:
- 乙二
- php 5.4.45技术规范
- IIS 10.0版
- Windows 10操作系统
在login.php
、LoginForm.php
和SiteController.php
中,我添加了以下内容(仅显示了相关部分):
后台\视图\站点\登录名.php:
use yii\captcha\Captcha;
...
<?= $form->field($model, 'captcha')->widget(Captcha::className()) ?>
...
登录表单.php:
...
public $captcha;
...
public function rules()
{
return [
...
[['username', 'password', 'captcha'], 'required'],
['captcha', 'captcha'],
];
}
后台\控制器\站点控制器.php:
public function actions()
{
return [
...
'captcha' => [
'class' => 'yii\captcha\CaptchaAction',
// 'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null,
],
];
}
我已经下载并安装了ImageMagick-7.0.2-Q16
如here所述,我已经下载了php_imagick-3.4.1-5.4-ts-vc9-x86.zip,并从那里解压了php_imagick. dll。然后在/php/ext/
中添加了php_imagick. dll。
在php.ini
中,我添加了以下内容:
...
[PHP_IMAGICK]
extension=php_imagick.dll
...
然后重新启动IIS,但未显示captcha,并且我在日志中看到以下内容:
2016-08-10 07:28:21 [127.0.0.1][-][h1a65krn8scqc9auk56flmesi6][error][yii\base\InvalidConfigException] exception 'yii\base\InvalidConfigException' with message 'Either GD PHP extension with FreeType support or ImageMagick PHP extension with PNG support is required.' in C:\projects\aisnew\vendor\yiisoft\yii2\captcha\Captcha.php:180
重新启动操作系统后:
2016-08-10 07:01:22 [127.0.0.1][-][h1a65krn8scqc9auk56flmesi6][error][yii\base\ErrorException:32] exception 'yii\base\ErrorException' with message 'PHP Startup: ' in Unknown:0
我在什么地方读到最新的版本在Windows 10上工作,但需要安装Visual C++ 2013可再发行软件包。我检查了一下这个软件包是否安装了。
如何在Yii-2应用程序中添加验证码?我尝试了ImageMagick和php_imagick. dll的不同组合,但是没有任何效果。
3条答案
按热度按时间j2datikz1#
我刚刚为我的Yii 2网站做了一个自定义代码。这是一个基于文本的验证码。检查它,如果它可以帮助你。在模型:-
......
在控制器中,在定义$model:-之后,在此行创建并更新操作
并在视图部分添加以下行:-
deikduxw2#
我想这个应该可以
我所做的是,添加了一个包含验证码图像的模板,一个刷新验证码图像(提供合适的路径),一个标签到字段和文本输入字段。
8hhllhi23#
我使用了这个链接,我的问题就解决了。https://github.com/yiisoft/yii2/issues/6392您不需要执行以下操作。我已经下载并安装了ImageMagick-7. 0. 2-Q16
正如这里所描述的,我已经下载了php_imagick-3.4.1-5.4-ts-vc9-x86.zip,并从那里解压了php_imagick. dll。然后在/ php / ext /中添加了php_imagick. dll。
在php.ini中,我添加了以下内容:
[PHP_Imagick]扩展名= php_imagick.dll文件类型:文件类型:文件类型:文件类型:文件类型:文件类型:文件类型:文件类型:文件类型:文件类型:文件类型:文件类型:文件类型:文件类型:文件类型:文件类型:文件类型:文件类型:文件类型:文件类型:文件类型