香港独立IP空间
香港php空间
美国php空间
域名注册

thinkcmf因为有很好的可扩展性,深受站长朋友们喜爱,无忧主机小编也是因为看见thinkcmf官网有很多简单易懂的教程而被深深吸引到了,更重要的thinkcmf是基于thinkphp开发的,可以借助这个系统更加全面地去了解thinkphp。最近无忧主机小编一直在纠结thinkcmf网站后台验证码不显示的问题,关于这个问题在网上的回答是众说纷纭。经过一番苦苦摸索终于有了答案,为了让thinkcmf源码爱好者不再走我走过的弯路,无忧主机小编就把thinkcmf后台验证码有时不显示的解决办法分享给大家。
用ftp工具连接到虚拟主机,在根目录的 application/Api/Controller/ 路径下找到 CheckcodeController.class.php文件,如图1所示,

图12 300x189 thinkcmf后台验证码有时不显示的解决办法

将这个文件下载到本地进行修改。
用文本编辑器打开,在 public function index()  这个方法中,找到

$Verify = new \Think\Verify($config);

在这句代码前面上 ob_clean();  如图2所示。

图22 300x102 thinkcmf后台验证码有时不显示的解决办法

改好后保存并上传到空间的原路径,再去访问发现验证码始终都会显示了。
这个函数到底是起到了什么作用呢,在php官网文档的介绍的是,这个函数用于丢弃缓冲区的内容,而且缓冲区中带了PHP_OUTPUT_HANDLER_CLEANABLE标志的ob_start()方法才能工作, ob_start()表示打开输出控制缓冲。在thinkcmf程序中,网站有许多生成的图片类文件比如销毁后的验证码,想要正确访问新生成的验证码,如果没有及时清除缓冲区,验证码就可能无法显示,这个函数就是用来清理缓冲区的。

本文地址:http://www.51php.com/thinkphp/25138.html

喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

阅读本文的人还阅读: