luckymaoyy 2014-07-29
网站的第二台服务器跑的的环境主要是Python/Ruby,有时也需要简单跑跑PHP脚本,所以也安装了PHP,环境是Nginx+php-fpm,PHP是源码编译安装的,所以是最小化安装,甚至连mysqli扩展都没有。今天需要用到GD库,才发现没GD库环境,所以需要安装这个扩展。对付单个扩展,单独编译动态加载是比较方便快捷的。安装过程也比较繁杂,这个记录一下,方便后来者。
首先说明,我的PHP是源码编译安装的,可以参看以源码编译的方式安装PHP与php-fpm。
先安装gd前置库:freetype,jpegsrc,libpng。
1.freetype
1
wget"http://download.savannah.gnu.org/releases/freetype/freetype-2.4.0.tar.bz2"
2
tarjxvffreetype-2.4.0.tar.bz2
3
cdfreetype-2.4.0
4
./configure--prefix=/usr/local/freetype&&make&&makeinstall
2.jpegsrc
1
wget"http://www.ijg.org/files/jpegsrc.v9.tar.gz"
2
tarzxvfjpegsrc.v9.tar.gz
3
cdjpeg-9
4
CFLAGS="-O3-fPIC"./configure--prefix=/usr/local/jpeg&&make&&makeinstall
5
mkdir-p/usr/local/jpeg/include
6
mkdir-p/usr/local/jpeg/lib
7
mkdir-p/usr/local/jpeg/bin
8
mkdir-p/usr/local/jpeg/man/man1
3.libpng
1
wget"http://downloads.sourceforge.net/project/libpng/libpng12/1.2.50/libpng-1.2.50.tar.gz?r=http%3A%2F%2Fwww.libpng.org%2Fpub%2Fpng%2Flibpng.html&ts=1376631135&use_mirror=nchc"
2
tarzxvflibpng-1.2.50.tar.gz
3
cdlibpng-1.2.50
4
CFLAGS="-O3-fPIC"./configure--prefix=/usr/local/libpng&&make&&makeinstall
接下来需要cd到php源码的gd目录,否则会报cannotfindconfig.m4之类的错误。
1
cdphp-5.3.6
2
cdext
3
cdgd
然后再这个目录执行命令/usr/local/php/bin/phpize。什么时候需要用到phpize呢?当我们需要再加些模块,又不想重新编译php,这些我们就可以用phpize了。我的PHP安装在/usr/local/php/这个目录里,可以根据个人情况修改。
1
/usr/local/php/bin/phpize
现在可以进行单独编译安装了:
1
./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
2
或者
3
./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
4
make&&makeinstall
接着修改php.ini文件在;extension=php_zip.dll下面添加一行extension=gd.so
重启Nginx之后再看看是否安装成功了。再执行/usr/local/php/bin/php-m查看gd模块是否加载成功。
1
servicenginxrestart
2
/usr/local/php/bin/php-m
console列出:
01
[root@nowamagicgd]#/usr/local/php/bin/php-m
02
[PHPModules]
03
Core
04
ctype
05
date
06
dom
07
ereg
08
fileinfo
09
filter
10
gd
11
……
看到gd了,说明gd库安装成功。
接下来只要重启php-fpm即可:
1
killallphp-fpm
2
/usr/local/php/sbin/php-fpm
phpinfo()一下,看看。
OK,安装成功。
<?php. if (!empty($_POST)) {. $data1 = $_POST["data1"];$data2 = $_POST["data2"];$fuhao = $_POST["fuh