Использую стандартные для yii2 виджет(\yii\captcha\Captcha) и action(\yii\captcha\CaptchaAction) для работы с капчей на форме.
После перезагрузки страницы текст капчи остается прежним. Нашел на форумах совет отнаследовать actionCaptcha и переопределить в нем метод run:
Код: Выделить всё
<?php
namespace common\components\actions;
use Yii;
use yii\web\Response;
class CaptchaAction extends \yii\captcha\CaptchaAction {
public $autoRegenerate = true;
public function run()
{
if ($this->autoRegenerate && Yii::$app->request->getQueryParam(self::REFRESH_GET_VAR) === null) {
$this->setHttpHeaders();
Yii::$app->response->format = Response::FORMAT_RAW;
return $this->renderImage($this->getVerifyCode(true));
}
return parent::run();
}
}