什么是GD?GD就是一种图象函数库,PHP利用她可以还创建及操作多种不同图像格式的图像文件,包括 gif,png,jpg,wbmp 和 xpm,并将直接将图像流输出到浏览器,广泛用语验证码跟图片防盗链技术当中。
在windows中配置PHP使之支持GD十分简单,只要在PHP的extends目录里找到相应的带有gd字样的dll将它复制到windows目录下或者system32下,并将php.ini里该dll的扩展去掉就OK了!
linux相对复杂一点,需要自己先下载编译gd, zlib, freetype2, jpeg6等一系列东西。然后再在PHP编译的时候增加选项,要找那些包非常简单,但是如果自己的系统环境稍微有点什么问题,就很容易导致编译失败,我的本本昨晚就让我给整瘫了。。(现在编译PHP的时候无法加载--with-musqli=/usr/local/mysql/bin/,提示configure error: wrong mysql library version or lib not found. 重装了mysql还是解决不了问题。。)
后来没有办法,用到了杀手锏apt-get,其实debain系统就是应该这样,能简化的步骤尽量简化,发生故障的几率都也小,对于Ubuntu 5.10我们只需要安装以下几个包,
sudo apt-get install libgd2 libgd2-dev libfreetype6-dev libgd2-noxpm-dev libjpeg62-dev libpng12-dev
然后再这么编译:
./configure --prefix=/usr/local --with-config-file-path=/usr/local/apache2/conf --with-apxs2=/usr/local/apache2/bin/apxs --with-gd=/usr --with-jpeg-dir=/usr/lib --with-zlib --with-png --with-freetype-dir=/usr/include/freetype2/freetype --enable-ftp --enable-sockets --enable-mbstring --with-gettext --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock
make & make install
就收工了!很方便,
至于是应该编译还是通过软件包安装是一个大家讨论了很久的问题,到底哪个好也是见仁见智的,就我个人觉得一些库的安装还是不要自己编译,一个可能导致的问题多(环境一不得当就会导致编译失败)一个是不便于升级更新,不然一个sudo apt-get update全部替管理员搞定,多方便,这些东西如果可以要自己去编译,我觉得有点得不偿失的感觉,而对于apache,php,由于安装很灵活,(可以添加编译后缀,关哪个模块,开哪个模块得视情况而定,)就建议自己动手丰衣足食了