当前位置: 代码迷 >> PHP >> 自己编译的php在linux下无法生成PNG图像,该如何解决
  详细解决方案

自己编译的php在linux下无法生成PNG图像,该如何解决

热度:300   发布时间:2016-04-28 18:50:08.0
自己编译的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来编译.
请各位告诉我改怎么做.
------解决方案--------------------
贴出你的代码,以验证你的程序书写没有问题
如果你在多个去确定的因素中查找问题的所在,首先应使用排除法
------解决方案--------------------
路径,大小写……