Yii2 Captcha不渲染和显示原始数据图像

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yii2 Captcha不渲染和显示原始数据图像相关的知识,希望对你有一定的参考价值。

后端的验证码已配置并已运行。但是使用相同的配置不能在前端工作并显示原始图像数据,如图中所示。访问角色是正确的,验证码操作没有任何其他配置。 php GD已在我的主机中处于活动状态 Yii2 Captcha显示RAW数据

enter image description here

答案

您可能想要检查两件事。

首先,你是否覆盖了控制器类中的actions()方法?您需要添加以下内容:

class YourController extends Controller
{
    public function actions()
    {
        return array(
            'captcha' => array(
                'class' => 'CCaptchaAction',
                'backColor' => 0xFFFFFF,
            ),
        );
    }
}

如果您这样做但仍然无效,请检查您的控制器访问权限。当您覆盖accessRules()时,您需要为所有人提供验证码操作,如下所示:

class YourController extends Controller
{
    public function accessRules() {
        return array('allow', 'actions' => array('captcha'), 'users' => array('*'));
    }
}

希望这可以帮助 !。

另一答案
ob_clean();

请在显示验证码或任何其他合适的地方之前尝试。

以上是关于Yii2 Captcha不渲染和显示原始数据图像的主要内容,如果未能解决你的问题,请参考以下文章

Yii2 - 在视图的 index.php 中渲染 _search.php 文件

Yii2自带验证码实现

Yii2。无法将不同的验证规则组合在一起

使用 OpenGL 在 Qt 中显示来自 DirectShow 的原始图像数据

yii2 rules 验证规则

Yii2注册验证码