安装了libpng,libjpeg,freetype,从ext里编译gd并且extension写入php.ini,整个过程没有出现错误提示。phpinfo里只有libpng和gd,但是没有freetype和libjpeg。
php版本是5.4。 freetype和libjpeg都是最新版本。难道就这个玩意一定要重新编译php吗? 不可能吧,有同学碰到过同样问题吗。

解决方案 »

  1.   

    编译时须有 freetype和libjpeg 相关的开关这须有 phpnewnew 版主解答
      

  2.   

    我觉得不需要重新编译php吧,我自己还没试过在装了php后,再单独编译gd库的支持.
    php的gd是个很蛋痛的东西,当时我从5.3x升级到5.4的时候就是在GD这个地方出了问题.
    话说freetype和libjpeg是必须要支持的.
    这是我以前编译5.3的时候做的记录,你给实验一下看看是否能够正常?版本可能不一定是最新的了,当时是的,呵呵a.安装GD库 -让php支持gif,png,jpeg格式
    GD库需要以下模块的支持
    jpeg8,libpng,freetype首先是 jepg8 (网上大多数使用的是jepg6版本,此为最新模块)
    #aria2ch -t 3 ttp://www.ijg.org/files/jpegsrc.v8d.tar.gz
    #tar -zxf jpegsrc.v8d.tar.gz
    #cd jpeg-8d
    #./configure --prefix=/usr/local/jpeg8/ --enable-shared --enable-static
    #make;make install其次是 libpng
    http://sourceforge.net/projects/libpng/files/libpng16/1.6.0beta10/libpng-1.6.0beta10.tar.gz/download
    使用浏览器打开地址下载(网上大多是旧的1.2x版本,这里是最新的模块)#tar -zxf libpng-1.6.0beta10.tar.gz
    #cd libpng-1.6.0beta10
    #cp ./scripts/makefile.std makefile
    注意这里不需要配置,直接复制文件就可以了
    #make; make install最后是freetype
    # wget http://cdnetworks-kr-1.dl.sourceforge.net/project/freetype/freetype2/2.4.8/freetype-2.4.8.tar.bz2
    这是最新的版本
    #bzip2 -d freetype-2.4.8.tar.bz2
    #tar -xvf freetype-2.4.8.tar
    #cd freetype-2.4.8
    #./configure --prefix=/usr/local/freetype
    #make; make install现在需要的三个模块都已经编译好了,
    正式开始安装GD库#wget https://bitbucket.org/pierrejoye/gd-libgd/get/GD_2_0_34RC1.tar.gz
    这是最新的版本#tar -zxf GD_2_0_34RC1.tar.gz
    #cd pierrejoye-gd-libgd-5551f61978e3/src/
    #./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg8/ --with-png --with-zlib --with-freetype=/usr/local/freetype/
    #make; make install
      

  3.   

    搞定了,严重怀疑我make install gd的时候apache没关导致替换失败,或者是gd应该先make clean, 可能一直使用了旧的动态库路径。