先安装 gd 前置库 : freetype ,jpegsrc,libpng。
1. freetype
wget "http://download.savannah.gnu.org/releases/freetype/freetype-2.4.0.tar.bz2"
tar jxvf freetype-2.4.0.tar.bz2
cd freetype-2.4.0
./configure --prefix=/usr/local/freetype && make && make install
2. jpegsrc
wget "http://www.ijg.org/files/jpegsrc.v9.tar.gz"
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
3. libpng
可下载libpng的较新版本解压进入目录后执行以下命令:
CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/libpng && make && make install
4.编译gd
接下来需要cd到php源码的 gd 目录,否则会报 cannot find config.m4 之类的错误。
cd php-5.3.6
cd ext
cd gd
然后再这个目录执行命令 /usr/local/php/bin/phpize。(什么时候需要用到 phpize 呢?当我们需要再加些模块,又不想重新编译php,这些我们就可以用phpize了。我的PHP安装在 /usr/local/php/ 这个目录里,可以根据个人情况修改。)
/usr/local/php/bin/phpize
现在可以进行单独编译安装了,执行以下其中的一个命令,:
./configure --with-php-configure=/usr/local/php/bin/php-config --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local/libpng --with-freetype-dir=/usr/local/freetype
或者
./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
5.加载gd扩展到php配置文件
接着修改php.ini文件 在 ;extension=php_zip.dll 下面添加一行 extension=gd.so
重启 Nginx 之后(如果是php-fpm形式的,需要重启php-fpm来重新加载php的配置文件)再看看是否安装成功了。再执行 /usr/local/php/bin/php -m 查看gd模块是否加载成功。
附件:所需扩展的压缩包