首先先安装 gd 前置库 : freetype ,jpegsrc,libpng 这三个源码安装包,在我的百度云盘都是有的#tar -zxvf freetype-2.4.0.tar.bz2 #cd freetype-2.4.0
#./configure --prefix=/usr/local/freetype && make && make install
#tar -zxvf jpegsrc.v9.tar.gz #cd jpeg-9 #CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/jpeg && make && make install #mkdir -p /usr/local/jpeg/include #mkdir -p /usr/local/jpeg/lib #mkdir -p /usr/local/jpeg/bin
#mkdir -p /usr/local/jpeg/man/man1
#tar -zxvf libpng-1.2.50.tar.gz #cd libpng-1.2.50 #CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/libpng && make && make install
接下来需要cd到 php源码的 gd 目录,我源码的目录一般是/opt/software/php-5.5.8/否则会报 cannot find config.m4 之类的错误。#cd /opt/software/php5.5.8/ext/gd
然后再这个目录执行命令#/usr/local/php/bin/phpize
什么时候需要用到 phpize 呢?当我们需要再加些模块,又不想重新编译php,这些我们就可以用phpize了。
我的PHP安装在 /usr/local/php/ 这个目录里,可以根据个人情况修改。
报第一个错误
Cannot find config.m4.
Make sure that you run '/usr/local/bin/phpize' in the top level source directory of the module
查看gd 目录下有个config.w32和config0.m4,把config0.m4改名为config.m4。#mv config0.m4 config.m4
报第二个错误:
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
Cannot find autoconf. Please check your autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
根据网上的解决办法是:# yum install autoconf
接下来的操作如下:#./configure --with-php-config=/usr/local/php/bin/php-config --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local/libpng --with-freetype-dir=/usr/local/freetype
#make
#make install
重启apache之后再看看是否安装成功了。再执行 /usr/local/php/bin/php -m 查看gd模块是否加载成功。#/usr/local/php/bin/php -m
如果重启apache仍然找不到gd库vi /etc/php.ini
在870行上下的地方extension=/usr/local/php/lib/php/extensions/no-debug-zts-20121212/gd.so
重启apache