ThInkPHP验证码不显示,解决方法汇总
出现ThInkPHP验证码不显示的情况
官方提示如下:
如果无法显示验证码,请检查:
① PHP是否已经安装GD库支持;
② 输出之前是否有任何的输出(尤其是UTF8的BOM头信息输出);(打开验证码文件为乱码,也有可能是BOM编码,可查看下方2寻找解决方法)
③ Image类库是否正确导入;
④ 如果是中文验证码检查是否有拷贝字体文件到类库所在目录;
⑤URL_MODEL模式,有些服务器不支持REWRITE 。
针对上面的情况,一一检查
1.可以用phpinfo 查看GD库是否开启,phpinfo打印出来的页面能搜到如下信息,说明安装了GD库
2.复制下面代码,保存为php格式,上传到服务器并运行,再刷新验证码。ps:下面代码作用是把所有文件进行无BOM格式编码
ps:把源代码压缩打包上传到服务器,再用服务器解压的情况,容易出现这种情况。ps:有些服务器打开文件之后,会以BOM格式保存文件。
<?php if (isset($_GET['dir'])){ //设置文件目录 $basedir=$_GET['dir']; }else{ $basedir = '.'; } $auto = 1; checkdir($basedir); function checkdir($basedir){ if ($dh = opendir($basedir)) { while (($file = readdir($dh)) !== false) { if ($file != '.' && $file != '..'){ if (!is_dir($basedir."/".$file)) { echo "filename: $basedir/$file ".checkBOM("$basedir/$file")." <br>"; }else{ $dirname = $basedir."/".$file; checkdir($dirname); } } } closedir($dh); } } function checkBOM ($filename) { global $auto; $contents = file_get_contents($filename); $charset[1] = substr($contents, 0, 1); $charset[2] = substr($contents, 1, 1); $charset[3] = substr($contents, 2, 1); if (ord($charset[1]) == 239 && ord($charset[2]) == 187 && ord($charset[3]) == 191) { if ($auto == 1) { $rest = substr($contents, 3); rewrite ($filename, $rest); return ("<font color=red>BOM found, automatically removed.</font>"); } else { return ("<font color=red>BOM found.</font>"); } } else return ("BOM Not Found."); } function rewrite ($filename, $data) { $filenum = fopen($filename, "w"); flock($filenum, LOCK_EX); fwrite($filenum, $data); fclose($filenum); } ?>
转载于:https://www.cnblogs.com/MY0101/p/6785651.html
ThInkPHP验证码不显示,解决方法汇总相关推荐
- vue IE下验证码无法显示解决方法
vue IE下验证码无法显示解决方法 使用axios进行get请求,返回格式为文件流可以使用一下方法解决 axios({method: 'get',url: '/verifyCode/authImag ...
- Dede后台验证码不显示解决方法详解
1检查看看有没有开启gd,用<?php phpinfo();?>检查. 2在include/common.inc.php打开错误报告error_reporting(E_ALL); // 报 ...
- dedecms教程:后台验证码不显示解决方法
Dede后台验证码不显示解决方法 ,很多时候dedecms网站后台的验证码不显示,验证码不显示网站后台就没法登陆,常见的验证码后台不显示的情况有以下三种: Dede后台验证码不显示情况一 Dede后台 ...
- dedecms教程:Nginx验证码不显示解决方法
Ngxin关于网上GD库没打开,关掉验证码等等.....都不行. 试过网上所有关于DEDECMS验证码不显示解决方法都不行; 解决方法 打开目录include/vdimgck.php文件; 注销掉,问 ...
- 织梦网站在服务器上不显示验证码,dedecms在Nginx服务器上验证码不显示解决方法...
这篇文章主要为大家介绍了dedecms在Nginx服务器上验证码不显示解决方法,需要的朋友可以参考下 很多使用dedecms的站长都遇到过在Nginx服务器上验证码不显示的情况,查阅相关资料会发现Ng ...
- Nginx验证码不显示解决方法
Ngxin关于网上GD库没打开,关掉验证码等等.....都不行. 试过网上所有关于DEDECMS验证码不显示解决方法都不行; 解决方法 打开目录include/vdimgck.php文件; 注销掉,问 ...
- dede 验证码不显示 vdimgck.php,Dede后台验证码不显示解决方法详解(dedecms 5.7)
本地与服务器上安装了dedecms5.7无法显示验证码,一般这种情况很少见,一般情况就是服务器设置问题,还有临时目录的权限问题. Dede后台验证码不显示或不正常分三种情况,下面来逐一分析 Dede后 ...
- Dede后台验证码不显示解决方法详解(dedecms 5.7 UTF-8版本)
织梦(dede)后台验证码不显示有多种可能性,我前几天测试就碰到了这个问题,结果百度搜索了一圈,挨个修改了下,还是不行,最后是在解决另外一个后台上传图片不成功的问题的时候,歪打正着的把验证码问题给解决 ...
- Dede织梦验证码不显示,织梦后台登陆验证码不显示解决方法
关于"织梦验证码不显示"的解决方法 "织梦验证码无法显示出来"的问题分析? 1.之前显示正常,但是换了服务器后就不能够正常显示:(这种通常是网站程序经过迁移后所 ...
最新文章
- 自监督学习新思路!基于蒸馏损失的自监督学习算法 | CVPR 2021
- Python logging调用Logger.info方法的处理过程
- 函数对象、 函数对象与容器、函数对象与算法
- 2017美国人工智能和机器学习行业种子投资首次下降
- mysql处理字符串的两个绝招:substring_index,concat
- 在Linux上取得Windows上的文件
- 互联网分布式微服务云平台规划分析--服务监控中心
- ssrs报表服务器数据库配置文件,创建报表服务器数据库(SSRS 配置管理器)
- bash漏洞修补, CVE-2014-6271
- [zz]为 lua 封装 C 对象的生存期管理问题
- mysql concat 日期_mysql group_concat时间用法
- 【HihoCoder - 1851】D级上司 (树形图,dfs)
- VM虚拟机中 localhost login_UTM 2.0 虚拟机来了,解决上网和无声音问题
- svn 提交 working copy is not up-to-date
- 什么是MPLS?多协议标签交换
- 【数据结构----笔记1】查找算法之【顺序查找和折半查找】
- Codeforces Round #446 (Div. 2)
- C++ 类使用规范建议
- Centos6.5之yum安装LAMP+wordpress
- 矩阵卷积、矩阵相乘以及频域相乘之间的关系