我试图在页面上呈现验证码图片,如下所示:
<img src="part/captcha_image.php?rand=<?php echo rand(); ?>" id='captchaimg' alt="captcha image">
图片在captcha_image.php
中返回:
header('Content-Type: image/jpeg'); // defining the image type to be shown in browser widow
imagejpeg($image); //showing the image
在xampp上的Windows机器上,它显示没有任何问题,但在Linux上使用手动apache2安装映像无法渲染,在浏览器的开发人员工具中我看到以下错误:
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
(在Chrome和Firefox上显示)
http://localhost/app/part/captcha_image.php?rand=1653484771 Failed to load resource: net::ERR_CACHE_MISS
(仅显示在Chrome上)
我错过了什么?
答案 0 :(得分:1)
听起来这个问题已在评论中得到解答。对于这样的问题,请务必在PHP的配置中启用详细的错误报告,并直接在浏览器地址栏中点击图片的URL。
如果您这样做,实际上问题是您需要gd
并且gd
丢失,那么错误页面会告诉您。
答案 1 :(得分:0)
正如@Cheery在评论中建议我遗漏gd module which is responsible for creation and manipulation of image files
。命令sudo apt-get install php5-gd && sudo service apache2 restart
解决了我的问题。