我就通过动态加载php的gd库为例子
下载freetype-2.3.5.tar.gz
下载地址:http://download.savannah.gnu.org/releases/freetype/
安装 freetype
tar -zxvf freetype-2.2.1.tar.gz
cd freetype-2.2.1
./configure --prefix=/usr/local/freetype2
make
make install
(3).下载libpng-1.2.20.tar.gz
下载地址:http://www.libpng.org/download/
安装:libpng
tar zxvf libpng-1.2.20.tar.gz
cd libpng-1.2.20/
./configure --prefix=/usr/local/libpng
make
make install
(4).下载jpegsrc.v6b.tar.gz
下载地址:ftp://ftp.uu.net/graphics/jpeg
安装:jpeg6
建立目录
mkdir /usr/local/jpeg6
mkdir /usr/local/jpeg6/bin
mkdir /usr/local/jpeg6/lib
mkdir /usr/local/jpeg6/include
mkdir /usr/local/jpeg6/man
mkdir /usr/local/jpeg6/man/man1
tar -zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
make
make install
注意:这里./configure一定要带--enable-shared参数,不然,不会生成共享库
下载:gd-2.0.35.tar.gz
下载地址:http://www.libgd.org/Downloads
安装 gd
tar -zxvf gd-2.0.35.tar.gz
cd gd-2.0.35
./configure --prefix=/usr/local/gd --with-png-dir=/usr/local/lib --with-freetype-dir=/usr/local/freetype2 --with-jpeg-dir=/usr/local/jpeg6
make && make install
然后到php的安装目录下的ext中找到gd库,如果没有就到php官网下载
cd gd
/usr/local/php5/bin/phpize
运行时,可能会报错:Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable is set correctly and then rerun this script.“,需要安装autoconf:
yum install autoconf(RedHat或者CentOS)、apt-get install autoconf(Ubuntu Linux)
生成配置文件,并编译生成模块:
/usr/local/php5/bin/phpize
./configure --with-curl=/usr/local/gd --with-php-config=/usr/local/php5/bin/php-config
make
make install
这样,gd.so就被复制到PHP对应目录(如:/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/)
3.修改配置在php.ini里,设置扩展目录:
extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/"
并添加扩展模块引用:
/usr/local/etc/php/extensions.ini
extension = gd.so