关于验证码无法显示或者显示为一个红叉,我被折腾了好几天,真的很郁闷。我在thinkphp官方论坛搜索了好多帖子都没有解决,最后发了一篇求助帖子“ thinkphp3.1顽固不化的验证码红叉!”,在这里感谢水平凡(论坛昵称)的答复,问题终于得到解决。在这里把帖子放出来,也顺便作一下小结,希望别人不再走我的弯路。
下面是我发的帖子:
问题:有前后台两个项目(WBlog),后台验证码显示正常,前台却不行!!!???
调试过程:
后台代码:
class PublicAction extends Action { public function verify(){ import('ORG.Util.Image'); Image::buildImageVerify(4,1,gif,48,22,'verify'); } }
调试结果如图1
前台代码:
class TextAction extends Action { // 首页 public function index() { import('ORG.Util.Image'); Image::buildImageVerify(4,1,gif,48,22,'verify'); } }
调试结果:
从上面的调试过程可知:
它们是在同一个服务器里的,所以配置方面的东西什么都是一样的,还有图片类放在核心包里,
加载路径错误可以排除
也曾经这样调用:
public function verify(){
import('ORG.Util.Image');
Image::buildImageVerify();
}
还考滤到什么编码,BOM都试过了
但还是老问题,后台显示正常,前台前不行!!!
求助!!!!!!!!!
水平凡的回复解决:
看你问这么多天了,你都没有解决,我下载代码看了,完全是你的问题,为什么这么说,我一一给你道来:
来看看你代码,首先看W3note\Lib\Action\TextAction.class.php这个文件
大家看到了,接着看W3note\Lib\Action\CommonAction.class.php这文件。。
当这些删除了,验证码就正常显示了。。。