解决php验证码不显示问题,解决php7/php8的验证码不显示情况

by 少年2021-07-20
  • 1 赞
  • 1 收藏
  • 技术
  • 274009 评论
  • 2655164 阅读
© 本文 by 少年 版权所有,作者未对本笔记声明转载限制,转载时请注明本文标题和链接。
笔记

php建站经常会遇到验证码不显示的情况,特别是php网站程序搬移服务器或者更换主机时经常会遇到,可能你已经在网上找了很多方法,按着做了一遍还是不显示,那你就需要用到本笔记的一些内容了。废话不多说,先把网上得解决方法的整理一下:


1、未安装或未开启gd模块


出现验证码不显示的情况,最基本的一个错误就是你很可能在php里面忘记安装gd模块了。window环境下面只需要在php.ini文件里面找到,注意不同版本的php配置项是有区别的,如下:

;extension=php_gd2.dll      ### PHP 5.* 版本
;extension=gd2              ### PHP 7.* 版本
;extension=gd ### PHP 8.* 版本

把前面的分号去掉就可以了,重启apache后,你就可以在phpinfo()里面找到这个

如果是在ubuntu等linux环境下面,你需要安装gd模块


2、文档使用了有BOM的编码格式


如果你的gd库安装并开启了,任然不显示验证码,那就可能是你的生成文档可能采用了有BOM的utf-8。


UTF-8 BOM又叫UTF-8 签名,其实UTF-8 的BOM对UFT-8没有作用,是为了支持UTF-16、UTF-32才加上的BOM,BOM签名的意思就是告诉编辑器当前文件采用何种编码,方便编辑器识别,但是BOM虽然在编辑器中不显示,但是会产生输出,就像多了一个空行(一般是三个字节)。session_start();开启前是不能有输出的,而这个UTF-8 BOM产生输出是在文档最上方,所以会导致出错。


这时采用无BOM的UTF-8格式就可以解决问题,所以你需要将代码的编码格式改成无BOM格式。采用编辑器修改下编码格式即可。


除了修改编码格式,你还可以采用另外的一种方法,那就是在代码 session_start(); 前加上 ob_clean(); 即可解决BOM签名带来的问题。


<?php
ob_clean();
session_start();
....


什么?你说你上边的方法你都做了,验证码还不显示,好吧,这种问题我也遇到了,你的新环境版本是不是PHP7.*?是的话,那么你就来对地方了。


3、填充内容函数imagettftext()参数和php版本问题


问题是出现在笔者安装了多个php版本环境进行程序兼容测试中,测试的php版本包括PHP5.*的几个版本,PHP7.*的几个版本和PHP8.*的几个版本,测试发现PHP5.*和PHP8.*下能正常显示验证码,而在PHP7.*的全系列版本都不能正常显示,经对代码分析发现原因是我采用了imagettftext()函数填充内容到到验证码的画布中,如果采用imagestring()函数填充内容就能正常显示。


解决方法你可以改用imagestring()来代替imagettftext()函数,但是如果仍然想要使用imagettftext()来自定义填充内容的字体样式的话,往下看。


经查询手册发现验证码不显示是由于imagettftext()函数的字体路径引起的,我之前使用了字体文件是相对路径"font/fenix.ttf",这种写法,php5.X和php8.X支持,但是php7.X需要是使用绝度路径,即使用'D:/www/core/font/fenix.ttf'这种形式,经测试采用网络形式的加载也是可行的"https://www.ideashu.cn/core/font/fenix.ttf",为了兼容此处改用绝对路径即可完美解决问题。


代码如下(代码是在项目中使用的,有些是项目中定义好的常量和变量,切勿直接复制使用):


//imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);// 填充内容到画布中
$fonturl=IDEA_ROOT .'/core/font/fenix.ttf';//php5.X和php8.X支持相对路径font/fenix.ttf,但是php7.X需要使用绝对路径,为了兼容此改该用绝对路径
imagettftext($image,$fontsize,0,$x,$y,$fontcolor,$fonturl,$fontcontent);


谢谢你的阅读,希望能够帮到你。


---

评论
uhuwiyekos
Specific pay.aibe.ideashu.cn.rcm.cv winner losses: [URL=http://ossoccer.org/cialis-com/ - cialis[/URL - [URL=http://sunlightvillage.org/product/keto-cream/ - keto cream[/URL - [URL=http://everytick.com/pill/lidoderm/ - lidoderm capsules[/URL - [URL=http://everytick.com/prilox-cream/ - buy prilox cream[/URL - [URL=http://bayridersgroup.com/retin-a/ - keramag renova 1 plan[/URL - [URL=http://everytick.com/flonase/ - flonase without dr prescription usa[/URL - [URL=http://thrombosedexternalhemorrhoids.com/product/prandial-md/ - prandial md[/URL - [URL=http://thrombosedexternalhemorrhoids.com/pill/olmesartan/ - purchase olmesartan[/URL - [URL=http://montclaircrew.com/product/tadalafil/ - tadalafil canadian pharmacy[/URL - order tadalafil from usa [URL=http://sunlightvillage.org/atenolol/ - buy atenolol online canada[/URL - [URL=http://montclaircrew.com/loxitane/ - generic loxitane uk[/URL - [URL=http://everytick.com/retin-a/ - retin a[/URL - [URL=http://oliveogrill.com/cialis-coupon/ - cialis coupon[/URL - [URL=http://a1sewcraft.com/prednisone-no-prescription/ - buy prednisone online without prescription[/URL - extraadrenal pericardium, adaptive cialis.com cialis keto cream overnight buy lidoderm w not prescription where to get prilox-cream in ireland retin a bulgaria flonase prandial md commercial olmesartan tadalafil atenolol without pres cost of loxitane tablets loxitane online stores retin-a cream cialis for sale online prednisone with no prescription cystocele trophoblast http://ossoccer.org/cialis-com/ generic cialis online http://sunlightvillage.org/product/keto-cream/ keto cream http://everytick.com/pill/lidoderm/ lidoderm price at walmart http://everytick.com/prilox-cream/ buy prilox cream http://bayridersgroup.com/retin-a/ tretinoin cream or retin a http://everytick.com/flonase/ flonase buy http://thrombosedexternalhemorrhoids.com/product/prandial-md/ prandial md http://thrombosedexternalhemorrhoids.com/pill/olmesartan/ order olmesartan http://montclaircrew.com/product/tadalafil/ tadalafil http://sunlightvillage.org/atenolol/ atenolol without dr prescription usa http://montclaircrew.com/loxitane/ cost of loxitane tablets http://everytick.com/retin-a/ tretinoin cream retin a http://oliveogrill.com/cialis-coupon/ cialis coupon http://a1sewcraft.com/prednisone-no-prescription/ prednisone deliveries, capacity?

2022-04-29 15:44:44回复

Smittepisp
tor markets links dark market

2022-04-29 15:40:27回复

ijurajayimuki
Folds jqz.xhpb.ideashu.cn.wpn.qp calculating pelvis [URL=http://montclaircrew.com/nicardia-retard-cd/ - nicardia retard cd.com lowest price[/URL - [URL=http://theprettyguineapig.com/levitra-online/ - levitra no prescription[/URL - [URL=http://everytick.com/pill/lidoderm/ - purchase lidoderm[/URL - [URL=http://a1sewcraft.com/levitra/ - price of levitra 20 mg[/URL - [URL=http://vmwaredevotee.com/roxithromycin/ - order roxithromycin online[/URL - [URL=http://everytick.com/nolvadex/ - nolvadex[/URL - [URL=http://sunlightvillage.org/product/bimat/ - buying bimat with next day shipping[/URL - [URL=http://sunlightvillage.org/product/zhewitra/ - buy zhewitra[/URL - [URL=http://everytick.com/product/bimatoprost/ - can i buy bimatoprost in mexico[/URL - [URL=http://thrombosedexternalhemorrhoids.com/product/prandial-md/ - prandial md commercial[/URL - [URL=http://montclaircrew.com/product/levaquin/ - levaquin[/URL - [URL=http://montclaircrew.com/item/ampicillin/ - ampicillin on internet[/URL - [URL=http://a1sewcraft.com/retin-a-cream/ - retin-a[/URL - [URL=http://sunlightvillage.org/vicks-inhaler-nasal-stick/ - buy vicks inhaler nasal stick on line[/URL - despite antecedent one-stage cost of nicardia retard cd tablets levitra online lidoderm levitra.com get roxithromycin without presecription non prescription roxithromycin nolvadex buy online no prescription bimat buy zhewitra without prescription bimatoprost en ligne bimatoprost for sale prandial md from canada levaquin ampicillin commercial retin-a cream vicks inhaler nasal stick from india abdomen: http://montclaircrew.com/nicardia-retard-cd/ nicardia retard cd http://theprettyguineapig.com/levitra-online/ levitra http://everytick.com/pill/lidoderm/ buy lidoderm w not prescription http://a1sewcraft.com/levitra/ generic levitra http://vmwaredevotee.com/roxithromycin/ roxithromycin for sale from india http://everytick.com/nolvadex/ buy nolvadex on line http://sunlightvillage.org/product/bimat/ bimat legally http://sunlightvillage.org/product/zhewitra/ buy zhewitra http://everytick.com/product/bimatoprost/ bimatoprost bimatoprost acheter en ligne http://thrombosedexternalhemorrhoids.com/product/prandial-md/ generic for prandial md http://montclaircrew.com/product/levaquin/ levaquin http://montclaircrew.com/item/ampicillin/ ampicillin http://a1sewcraft.com/retin-a-cream/ buy retin a online http://sunlightvillage.org/vicks-inhaler-nasal-stick/ vicks inhaler nasal stick consult, timings dermatology prominent.

2022-04-29 15:38:41回复

VictorHar
tor markets dark web sites

2022-04-29 15:35:39回复

ojesilewaqem
Only ium.rjwo.ideashu.cn.use.zj non-pharmacological extrapyramidal [URL=http://gaiaenergysystems.com/lasix/ - lasix[/URL - furosemide without presscription [URL=http://everytick.com/product/vigora/ - vigora[/URL - [URL=http://everytick.com/product/serevent/ - serevent shipped[/URL - serevent without a doctors prescription [URL=http://montclaircrew.com/item/lobate-cream/ - lobate cream for sale[/URL - [URL=http://sunsethilltreefarm.com/omnicef/ - omnicef[/URL - omnicef selling [URL=http://sunsethilltreefarm.com/ciplox-eye/ - ciplox eye without prescription[/URL - [URL=http://everytick.com/drug/plavix/ - plavix walmart price[/URL - [URL=http://sunsethilltreefarm.com/product/clindamycin-topical-gel/ - buy clindamycin topical gel without prescription[/URL - [URL=http://everytick.com/atorlip-5/ - atorlip 5[/URL - [URL=http://montclaircrew.com/item/reosto/ - buy reosto in ny[/URL - [URL=http://otrmatters.com/topamax/ - buy topamax[/URL - [URL=http://everytick.com/product/avanafil/ - avanafil online usa[/URL - [URL=http://sunsethilltreefarm.com/cycrin/ - cycrin[/URL - [URL=http://vmwaredevotee.com/lyrica/ - on line lyrica[/URL - buckles buy lasix on line vigora commercial online serevent prescriptions lobate cream without a doctors prescription cheapest omnicef dosage price price of ciplox eye non prescription plavix achat de clindamycin-topical-gel en ligne atorlip 5 cheap reosto topiramate online avanafil lowest price for cycrin 5 buy lyrica without prescription delusion, hormone-resistant assumes http://gaiaenergysystems.com/lasix/ furosemide buy online http://everytick.com/product/vigora/ lowest price on generic vigora http://everytick.com/product/serevent/ serevent price at walmart http://montclaircrew.com/item/lobate-cream/ lobate cream for sale http://sunsethilltreefarm.com/omnicef/ walmart omnicef price http://sunsethilltreefarm.com/ciplox-eye/ ciplox eye http://everytick.com/drug/plavix/ plavix http://sunsethilltreefarm.com/product/clindamycin-topical-gel/ clindamycin topical gel http://everytick.com/atorlip-5/ atorlip 5 http://montclaircrew.com/item/reosto/ cheap reosto http://otrmatters.com/topamax/ buy topamax http://everytick.com/product/avanafil/ avanafil http://sunsethilltreefarm.com/cycrin/ buy cycrin without prescription http://vmwaredevotee.com/lyrica/ lyrica characteristics, unsupervised?

2022-04-29 15:35:25回复

1 ... 47563475644756547566475674756847569 ... 54802(有 274009 条评论)