私はログインフォームにcaptchaを追加しようとしています。Yii-2アプリケーションにcaptchaを追加するには?
私の環境:PHP 5.4.45 TS
- のYii 2
- は(10
はlogin.php
、LoginForm.php
とSiteController.php
で、私は次のように追加10.0
バックエンド\ビュー\サイトの\ login.php:
use yii\captcha\Captcha;
...
<?= $form->field($model, 'captcha')->widget(Captcha::className()) ?>
...
共通\モデル\ LoginForm.php:
public function actions()
{
return [
...
'captcha' => [
'class' => 'yii\captcha\CaptchaAction',
// 'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null,
],
];
}
I:
...
public $captcha;
...
public function rules()
{
return [
...
[['username', 'password', 'captcha'], 'required'],
['captcha', 'captcha'],
];
}
バックエンド\コントローラはSiteController.php \ダウンロードしてインストールしましたImageMagick-7.0.2-Q16
here私はphp_imagick-3.4.1-5.4-ts-vc9-x86.zipをダウンロードし、そこからphp_imagick.dllを抽出します。
...
[PHP_IMAGICK]
extension=php_imagick.dll
...
その後、IISを再起動しますが、キャプチャが表示されていないと私はログに次の項目を参照してください:次にphp.ini
で/php/ext/
でphp_imagick.dllを追加しました私は、次の追加
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アプリケーションでcaptchaを追加するにはどうすればよいですか?私はImageMagickとphp_imagick.dllの異なる組み合わせを試みましたが、何も動作していません。
私は情報に非常に感謝します。ありがとうございます。
代替ソリューションをご利用いただける方は、https://www.google.com/recaptcha/intro/index.html – Jason
をご覧ください。迅速なコメントをいただきありがとうございます。はい、私は代替ソリューションにオープンしています。私はそれを試してみます。 –
完璧に動作します、@ Jasonありがとうございます。私は本当にそれが好きだった、私は生産のこのソリューションを残します。また、この質問を開いたままにして、私はimagicを使ってこれを行う方法を知りたい。 –