• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

YII2框架无报错,但是验证码就是显示不出来,图片图形验证码不显示

武飞扬头像
php
帮助242

一、问题描述

这个是代码中输出 bom 导致的问题,在 YII2框架源码中,有BUG,没有清楚 缓冲区导致无法显示

二、解决方法

1. 修改路径

文件地址:/vendor/yiisoft/yii2/captcha/CaptchaAction.php

2.修改方法

代码定位: renderImageByGD() 方法中的

imagecolordeallocate($image, $foreColor);

ob_start();
imagepng($image);
imagedestroy($image);

修改为:

        if (function_exists('ob_clean')) {
            @ob_clean();
        }
        imagecolordeallocate($image, $foreColor);
        header('Pragma: public');
        header('Expires: 0');
        header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
        header('Content-Transfer-Encoding: binary');
        header("Content-type: image/png");
        imagepng($image);
        imagedestroy($image);

3. 验证解决

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/taneffb
系列文章
更多 icon
同类精品
更多 icon
继续加载