Home >Backend Development >PHP Tutorial >自己编译的php在linux下无法生成PNG图像
环境:
CentOS 6.4 64位
Nginx 1.4.2
PHP 5.4.7
GD库信息如下:
GD Support enabled
GD Version bundled (2.0.34 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.3.11
GIF Read Support enabled
GIF Create Support enabled
JPEG Support enabled
libJPEG Version 6b
PNG Support enabled
libPNG Version 1.2.49
WBMP Support enabled
XPM Support enabled
XBM Support enabled
Directive Local Value Master Value
gd.jpeg_ignore_warning 0 0
现在情况是这样,我有一个需要生成验证码的页面,使用了别人写的一个生成验证码的代码,这个代码在我本机上运行良好,放在服务器上就会出现没有输出图像数据,图像句柄是由 imagecreatetruecolor函数生成,我用var_dump打印这个曲柄显示这样的信息:resource(55) of type (gd)
显然句柄是创建好的,此后这个生成代码调用了这些图形函数:
imagecolorallocate
imagefilledrectangle
imagettftext
imageline
最后使用
header( 'Content-type: image/png' )
配合
imagepng函数输入验证码图像
最后我通过浏览器端的调试器发现,传过来的尽管是image/png类型,却没有任何有效数据,也就是说在成功调用了 imagecreatetruecolor生成了图像句柄之后,其余的图形函数并没有向图像写入任何图形数据.
现在的问题是我必须有这个生成验证码的功能,包括之后要建的discuz论坛也会有验证码,我该怎么做才能让这玩意工作起来.
由于之前GD缺乏freetype支持我已经重新编译过PHP.我现在似乎只能 1).找出写入图形输入失效的原因,然后解决. 2).重新搞个其他版本的PHP来编译.
请各位告诉我改怎么做.
贴出你的代码,以验证你的程序书写没有问题
如果你在多个去确定的因素中查找问题的所在,首先应使用排除法
路径,大小写……
请问楼主解决了没有?我也遇到了这样的问题,不过我是centos用yum安装的,gd库这些都和你一样