关于wecenter 3.1.9 验证码不显示的问题的解决方法
如果你全新安装Wecenter出现以下情况:
一、登录后台,验证码不显示
二、新用户注册界面,验证码不显示
三、直接在地址栏打开验证码,链接能打开,但显示为乱码
并且你的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/
注册和登录界面将正常显示图片:
这个问题在IIS服务器上没有发现,IIS能自动返回正常的图片,而使用nginx的机器上而出现上述问题 





2018-02-26 17:26
2018-02-26 17:25
2018-02-25 13:28
2017-04-23 08:28
2017-04-09 20:07
2017-04-08 17:28
2017-04-05 08:50
2017-04-03 20:38