>백엔드 개발 >PHP 튜토리얼 >自己编译的php在linux下无法生成PNG图像

自己编译的php在linux下无法生成PNG图像

WBOY
WBOY원래의
2016-06-23 13:47:241119검색

环境:
  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库这些都和你一样

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.