公司网站的服务器前几天安装了Workpress环境主要是跑PHP,环境是Nginx+php-fpm,PHP是yum安装的,所以是最小化安装,php的各种扩展都没有。今天需要用到GD库,才发现没GD库环境,所以需要安装这个扩展。对付单个扩展,单独编译动态加载是比较方便快捷的。
先安装 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 -fPI
C"
./configure --prefix=/usr/local/jpeg && make && make install
3. libpng
wget http://jaist.dl.sourceforge.net/project/libpng/libpng16/1.6.18/libpng-1.6.18.tar.gz
tar zxvf libpng-1.6.18.tar.gz
cd libpng-1.6.18
CFLAGS=
"-O3 -fPIC"
./configure --prefix=/usr/local/libpng && make && make install
接下来需要cd到php源码的 gd 目录,我的php版本是5.3.3,一下是源码下载地址
http://museum.php.net/php5/php-5.3.3.tar.gz
cd php-5.3.6
cd ext
cd gd
然后再这个目录执行命令 /usr/bin/phpize。什么时候需要用到 phpize 呢?当我们需要再加些模块,又不想重新编译php,这些我们就可以用phpize了。我的PHP安装在/usr/bin/ 这个目录里,可以根据个人情况修改。
运行 /usr/bin/phpize 命令
现在可以进行单独编译安装了:
./configure --with-php-configure=/usr/bin/php-config --with-jpeg-dir=/usr/local/jpeg --with-png-dir=/usr/local/libpng --with-freetype-dir=/usr/local/freetype
make && make install
接着修改php.ini文件 在 ; default extension directory. 下面添加一行 extension=gd.so
# cat gd.ini
; Enable gd extension module
extension=gd.so
--------------------------------------------------------------------------------
最重要的安装 yum install php-gd
重启 Nginx和php 之后再看看是否安装成功了。再执行 /usr/bin/php -m 查看gd模块是否加载成功。
service nginx restart
/etc/init.d/php-fpm restart
# /usr/bin/php -m
[PHP Modules]
bz2
calendar
...
ftp
gd
参考链接:http://www.nowamagic.net/librarys/veda/detail/2610