php验证码不显示(显示白色方框)解决方法

今天把公司的项目平台下载到本地运行,突然发现登录的验证码显示不出来,但是明明在公司服务器上运行的好好的,为什么就不行了呢
在这里插入图片描述
后面我通过审查元素找到验证码所在的php文件,单独运行显示的效果这样的,一个白色的
在这里插入图片描述
于是百度各种搜寻中,对于php验证码显示不全有很多的处理方式。
1.安装gd模块。
出现图像验证码显示不出来最基本的就是检查GD模块有没有安装
window环境下面只需要在php.ini文件里面找到

;extension=php_gd2.dll

去掉前面的分号,重启服务,就可以了,这个时候在php文件中打印phpinfo 可以看到GD模块已经安装完成。
在这里插入图片描述
于是很多小伙伴说,既然GD模块安装了那很可能就是文件编码格式的问题。
2.要把文件变为UTF-8无BOM格式
在这里插入图片描述
文件格式应为不带BOM的UTF-8
在这里插入图片描述
然而依然没有解决。
干脆就把imagecreate给打印出来,看看他到底怎么了
在这里插入图片描述
果不其然报错了

Warning: imagettftext(): Could not find/open font

根据这个报错信息找到了答案,查手册后发现由于GD版本更新,定义字体路径参数需要使用绝对路径。
3.对字体路径参数使用绝对路径

$font = realpath('./arial.ttf');

在这里插入图片描述
如果还是显示不出来,可能是有缓存。
4.清除缓存
使用ob_clean(),清除一下缓存。

这个时候就应该可以显示出来了。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值