巧妹儿,点滴生活,生活点滴,都需要你来陪伴,往后余生,请多多指教。男人最幸福的事情是:一个好妻子,一份好工作,一个好身体。

2009-2022
DFHL
未分类

thinkphp5 登陆后台验证码无法显示

本人线上用的是urlos 是个docker管理器工具。

本人线下测试是用的宝塔。是个环境集成管理工具。

程序开发者把程序发过来后,在本地测试没有问题,然后线上测试刚开始是伪静态问题,后来解决了伪静态问题,但是后台登陆的验证码无法显示。

因为提示是无法找到captcha.html 刚开始推测是伪静态问题或者是php版本问题,跟开发者确认使用的伪静态没有问题,php环境是5.4后,陷入了更郁闷的情况。

后来找urlos的作者洞哥咨询,洞哥测试了用dz程序在我的使用的环境下面测试,发现是正常的。

然后我决定去考虑代码方面的问题,准备再检查代码方面的问题。

然后就去网上搜索thinkphp后台登陆无法显示验证码,然后发现了说是thinkphp本身的一个缺陷,然后通过查看相关文章,然后核对自己的程序是否有相关的问题,然后发现有相关漏洞,然后通过修复漏洞,解决了这个问题。

方法如下:

thinkPHP5 后台验证码不显示
解决:
找到 vendor/topthink/think-captcha/src/CaptchaController.php 文件,在 index 这行下面那行添加 ob_clean();如下图


class CaptchaController
{
    public function index($id = "")
    {
        ob_clean();
        $captcha = new Captcha((array)Config::get('captcha'));
        return $captcha->entry($id);
    }
}


然后这个问题就解决了。



文章如无特别注明均为原创! 作者: 等风也等你, 转载或复制请以 超链接形式 并注明出处 走近风的BLOG
原文地址《 thinkphp5 登陆后台验证码无法显示》发布于2019年12月26日

分享到:
打赏

评论

游客

看不清楚?点图切换