还是和同学一起做的半公益性质网站,有一个注册的步骤,需要验证码。我们使用的方式是用js生成一个随机数,然后用网上找的php代码生成验证码图片。
在服务器上显示输出验证码图片的时候出现了问题。
查了一圈什么gd2,编码,都试过没用。关键是本地是正常的,在本地能够正常的看到验证码图片,但是放到服务器上外网访问的时候验证码图片不能正常显示。
百度了一下,发现有人说:输出图片前不能输出其他东西。在这个网址总算找到了答案:
在输出header前做
ob_clean();关键操作 header("Content-type:image/jpeg"); imagepng($im); imagedestroy($im);这个操作,就行
问题还有进一步思考:为什么本地可以正常显示,而服务器不行?这个我猜测可能是因为本地是高版本PHP5.6和PHP7,服务器似乎是低版本PHP5.3,高版本的PHP内置函数可能有所更改完善吧。也不知道猜测对不对。