今天才发现我方的网站会员注册页,考证码的图片简直是无法透露的柚木提娜番号,难怪最近齐没什么东谈主注册……不明晰是因为最近修悛改网站文献导致的照旧换过奇迹器后一直如斯,只可硬着头发一步步排查了。
领先是排查了最近修悛改的网站文献,看不出问题,对考证码图片应该莫得影响。
接下来用了 Chrome 浏览器内置的的检查器用,选中无法透露的考证码,右击点“检查”,尽然发现了问题,看下图:
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
这条信息很遑急!如若是 500 不实,则代表可能是奇迹器问题;如若透露的是 404 不实,则可能是网站设施问题(比如伪静态问题等)
络续排查,灵通网站的调试阵势,发现不实信息里缺失什么函数,这下反馈过来了,应该是 GD 库的问题了!
更换过奇迹器后,似乎健忘安设 GD 库了!
GD 库是什么?
GD 库是 PHP 处理图形的彭胀库,它提供了一系列用来处理图片的 API(诓骗设施编程接口),使用 gd 库不错处理图片大要生成图片。在网站上,gd 库频繁用来生成缩略图柚木提娜番号,大要对图片加水印,大要生成汉字考证码,大要对网站数据生成报表等。
领先检查到底有莫得安设:
[root@hqwaliyun2024 techzhi]# php -m | grep gd
或
[root@hqwaliyun2024 techzhi]# php -i | grep "GD Support"
齐莫得回显,讲明莫得安设GD库。
此外,也不错上传一个 phpinfo.php 文献:
<?php
phpinfo();
?>
如若内部有“GD”一栏,何况是 enable 景况,讲明是安设了。成果,如实莫得……
用大喊进行安设:
sudo yum install php-gd
色播五月检查PHP成立文献php.ini,在文献中查找以下行:
;extension=gd*
将前边的标识去掉,以启用 gd 库彭胀。成果根柢莫得找到这项,我用的是php7.4。岂论了,安设完成之后径直重启nginx奇迹:
sudo service nginx restart
此时造访 phpinfo.php,依然出现了“GD”一栏。
再次灵通注册页,考证码图片终于纪念了柚木提娜番号,问题无缺处治!