关于wecenter 3.1.9 验证码不显示的问题的解决方法

kenw2004
kenw2004 这家伙很懒,还没有设置简介

3 人点赞了该文章 · 5982 浏览

如果你全新安装Wecenter出现以下情况: 一、登录后台,验证码不显示
1.png
  二、新用户注册界面,验证码不显示
3.png
  三、直接在地址栏打开验证码,链接能打开,但显示为乱码
2.png
并且你的php已经支持GD库,或者已经安装过imagemagic, 那么原因就是header头信息不正确,让浏览器认为这是一个html页面,而不是一张png图片,从而不能正常显示图片 解决方法如下: 修改文件 \system\core\captcha.php  在 generate() 的 HTTP::no_cache_header(); 后加一行:  header('Content-Type: image/png; charset=UTF-8');
    public function generate() {
        $this->captcha->generate();
        HTTP::no_cache_header();
        header('Content-Type: image/png; charset=UTF-8');
        readfile($this->captcha->getImgDir() . $this->captcha->getId() . $this->captcha->getSuffix());
        die;
    }
修改后,效果如下: 单独打开验证码链接如:http://wenda.wecenter.com/?/account/captcha/
4.png
  注册和登录界面将正常显示图片:
5.png
  这个问题在IIS服务器上没有发现,IIS能自动返回正常的图片,而使用nginx的机器上而出现上述问题

发布于 2017-04-03 20:21

免责声明:

本文由 kenw2004 原创发布于 WeCenter ,著作权归作者所有。

登录一下,更多精彩内容等你发现,贡献精彩回答,参与评论互动

登录! 还没有账号?去注册

kenw2004
2018-02-26 17:26
还有文件夹权限
kenw2004
2018-02-26 17:25
先检查你的php有没有gd库支持
阿文在他乡
2018-02-25 13:28
按你的教程添加了一段代码,但还是不显示验证码,咋回事呢?
15bz
2017-04-23 08:28
这个问题我之前也遇到过,后来不知道被哪位高手解决就了
@think
2017-04-09 20:07
markzzz 标记一下
风见雨下
2017-04-08 17:28
好像还有一种文体是缓存文件夹没有权限吧 记不清了
cpder
2017-04-05 08:50
非常感谢,这确实高手哇
jianlidawang
2017-04-03 20:38
非常感谢,这确实高手哇