几乎所有登陆都会使用到的一个东西---验证码。

不过很多时候会出现验证码不显示的问题,下面就我做自己以前遇到过的一些小问题来简单写一下。

1.最基本的一个,查看配置中GD库有没有打开。(PHP中可以使用phpinfo();直接查看各项信息),如果找不到该项信息表示没有打开,需要在php.ini中进行打开。

记得修改完配置信息一定要进行重启操作。

2.查看BOM头问题,必须为UTF-8无BOM格式文件。这个可以使用编辑器直接设置。在Win下使用记事本保存的东西切记格式不对,如果验证码突然不显示了可以想下是否使用记事本打开过相关文件直接保存了。关于去除BOM问题,在另一篇文章写过。去除BOM头问题。

3.这个原因可有可无(查看trace模式是否为开启状态,需关闭->这是TP框架中)。

4.当项目在虚拟主机上的时候要机型缓冲区数据存储配置。以及TP中在生成验证码的地方加上 ob_clean();清除BOM头 或者 ob_end_clean() linux上也要注意缓存目录的权限问题

BOM:

BOM(Byte Order Mark)就是字节序标记。在UCS(Unicode Character Set) 编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE(零宽度无断空白)"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输字符"ZERO WIDTH NO-BREAK SPACE"。这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的;如果收到FFFE,就表明这个字节流是Little-Endian的。因此字符"ZERO WIDTH NO-BREAK SPACE"又被称作BOM。UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。字符"ZERO WIDTH NO-BREAK SPACE"的UTF-8编码是EF BB BF。所以如果接收者收到以EF BB BF开头的字节流,就知道这是UTF-8编码了。Windows就是使用BOM来标记文本文件的编码方式的。当以UTF-16或UTF-32来将UCS所组成的字串编码时,这个字符被用来标示其字节序。它常被用来当做标示文件是以UTF-8、UTF-16或UTF-32编码的记号。
///
发送header前不能有任何的输出!
我是用UltraEdit来编辑PHP的,在UltraEdit新建的文件,如果文件中有中文字符,保存时会在文件中写入BOM信息。一般情况下,这样并不会出什么问题,但PHP4,5都是不支持BOM的。
在使用header()、setcookie()、session_start()这三个函数时, 都要求在使用前不能对浏览器有任何输出。由于受COOKIE送出机制的限制,在有BOM的文件中,COOKIE无法送出,因为在COOKIE送出前PHP已经送出了文件头。
如果在处理PHP文件后出现以下问题,多半是因为这个原因: 
        * 验证码图片不显示;
        * 页面显示一个“锘”字,其他一片空白;
        * 不能登入或登出;
        * 页顶出现一行空白;
        * 页顶出现错误警告

解决验证码不显示问题相关推荐

  1. Dede织梦验证码不显示,织梦后台登陆验证码不显示解决方法

    关于"织梦验证码不显示"的解决方法 "织梦验证码无法显示出来"的问题分析? 1.之前显示正常,但是换了服务器后就不能够正常显示:(这种通常是网站程序经过迁移后所 ...

  2. .NET 6 WTM layui发布到centos7,验证码不显示问题解决办法

    一.原因 为了更好的支持跨平台.NET 6框架放弃了原来的System.Drawing绘图的支持,转而使用第三方的SixLabors这个绘图库. 如果使用的wtm是.NET5及以下的请参照文章(14条 ...

  3. ThInkPHP验证码不显示,解决方法汇总

    出现ThInkPHP验证码不显示的情况 官方提示如下:如果无法显示验证码,请检查: ① PHP是否已经安装GD库支持: ② 输出之前是否有任何的输出(尤其是UTF8的BOM头信息输出):(打开验证码文 ...

  4. ThinkPHP5验证码不显示的原因及解决方法

    ThinkPHP5验证码不显示的原因及解决方法 参考文章: (1)ThinkPHP5验证码不显示的原因及解决方法 (2)https://www.cnblogs.com/shengxihui/p/112 ...

  5. dede 验证码不显示 vdimgck.php,Dede后台验证码不显示解决方法详解(dedecms 5.7)

    本地与服务器上安装了dedecms5.7无法显示验证码,一般这种情况很少见,一般情况就是服务器设置问题,还有临时目录的权限问题. Dede后台验证码不显示或不正常分三种情况,下面来逐一分析 Dede后 ...

  6. startsBBS在nginx环境下的部署,出现布局错误和验证码不能显示的解决方法

    问题:提示404 原因:没有配置url重写 解决:nginx 不支持pathinfo 模式 需要修改配置,方法如下 STB配置 打开 STB 的 config.php 文件修改如下: $config[ ...

  7. ThinkPHP验证码不能显示如何解决

    ThinkPHP验证码不能显示如何解决 ThinkPHP自带验证码的函数类,存放路径为:ThinkPHP/Lib/ORG/Util/验证码类 使用的时候只需在Index控制器中引入,方法如下: pub ...

  8. dede 验证码不显示 vdimgck.php,织梦(dedecms)后台登录验证码不显示或不正常的解决方法...

    随着互联网的快速发展,站长已经成为了互联网中的新兴人群,而其中建站使用的cms以织梦居多,伴随着人数的增多,在使用织梦cms中遇到的问题也越来越多,其中最棘手的问题莫过于验证码无法显示而导致无法登陆后 ...

  9. 服务器时间 验证码不显示,时间不同步导致网页验证码不能正常显示解决方法...

    症状:在电影服务器上能够正常显示,在游戏服务器上显示不正常,下面客户机显示不正常.有时候输入个别网页和程序的验证码要输入几十次才能正常.操作系统其他地方的系统都是一样的. 尝试了各种各样的关于验证码显 ...

  10. linux php 验证码不显示_如何解决linux php 验证码不显示的问题

    如何解决linux php 验证码不显示的问题 发布时间:2020-07-28 09:42:02 来源:亿速云 阅读:64 作者:Leah 如何解决linux php 验证码不显示的问题?针对这个问题 ...

最新文章

  1. android专题-数据库Room
  2. MASQUERADE --random 端口不随机
  3. 概率统计 —— 常犯错误
  4. 2018-01-24
  5. Linux下NFS(网络文件系统)的建立与配置方法
  6. 【PAT乙级】1036 跟奥巴马一起编程 (15 分)
  7. MemCache内存缓存系统
  8. struts.preperties说明
  9. 交互式多模型_26亿参数,智源、清华开源中文大规模预训练模型
  10. Linux下的信号处理
  11. 高效分页存储过程代码
  12. CSS样式大全(转)
  13. Java 操作Word书签(三):用文本、图片、表格替换书签
  14. EasyRecovery注册码哪里有?
  15. qt文件复制不成功问题
  16. 主角连击敌人处理:连击次数的显示(图片数字字体)---1
  17. UVA1336 Fixing the Great Wall 洛谷P2466 [SDOI2008]Sue的小球【区间DP记忆化搜索】
  18. 计算机语言中daly什么意思,计算机存储器 - dalyHu的个人空间 - OSCHINA - 中文开源技术交流社区...
  19. win10连无线但是无网络连接到服务器,简单几步解决win10连接wifi显示无internet访问的问题...
  20. java捕鱼增值版游戏下载_捕鱼游戏 java

热门文章

  1. 土地日度交易数据2000-2022
  2. 计算机软件时间,时间校对软件
  3. 2022年危险化学品经营单位安全管理人员报名考试及危险化学品经营单位安全管理人员复审模拟考试
  4. AI Illustrator 中钢笔工具在绘制过程中如何使用
  5. 时光不负,对我来说不寻常的一年 | 2021 年终总结
  6. NOTEPAD++正则法则:第一个和最后一个
  7. java获取字符串的最后一个字符_如何获取字符串的最后一个字符
  8. 思科里服务器的dns配置文件,cisco设置dns
  9. DDR3内存技术原理
  10. EXCEL-日常技巧整理-2-单元格拆分后原数据填充