Ubuntu编译安装 GD以及PHP

在ubuntu系统中apt-get安装php 以及php-gd 但是由于需求,需要升级GD库,情况下,卸载原有php 编译安装GD库以及PHP,且mysql为apt-get安装

编译安装 GD

1、编译安装 Zlib

tar -zxf zlib-1.2.3.tar.gz 
cd zlib-1.2.3/ 
./configure --prefix=/usr/local 
make && sudo make install

2、编译安装 PNG

tar -zxf libpng-1.2.18.tar.gz 
cdlibpng-1.2.18/ 
./configure --prefix=/usr/local/libpng
make && sudo make install

3、编译安装 JPEG

tar -zxf jpegsrc.v9a.tar.gz 
cd jpegsrc.v9a/ 
./configure --prefix=/usr/local 
make && sudo make install

4、编译安装 Libiconv
tar -zxf libiconv-1.14.tar.gz  
cd libiconv-1.14/ 
./configure --prefix=/usr/local 
make && sudo make install

5、编译安装 FreeType

tar -jxf freetype-2.4.6.tar.bz2  
cd freetype-2.4.6/ 
./configure --prefix=/usr/local 
make && sudo make install

6、编译安装 GD 

注释:要将gd的安装目录具体到目录例:/configure --prefix=/usr/local/gd

tar -zxf gd-2.0.33RC1.tar.gz 
cd gd-2.0.33RC1/ 
 ./configure --prefix=/usr/local/gd --with-png=/usr/local --with-freetype=/usr/local --with-jpeg9a=/usr/local

make && sudo make install

7、编译安装PHP5.4.4

 tar xf php-5.4.4.tar.gz

cd php-5.4.4 mysqlapt-get安装

./configure --prefix=/usr/local/php  --enable-fpm --enable-sockets --enable-sysvshm --enable-mbstring --with-freetype-dir --with-jpeg9a-dir=/usr/local/jpeg9a --with-png-dir --with-zlib-dir --with-libxml2-dir=/usr/local/libxml2 --enable-xml  --with-mhash --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d  --with-curl --with-gd --with-mysql 

为避免出现

ext/iconv/.libs/iconv.o: In function `php_iconv_stream_filter_ctor':
/home/king/php-5.2.13/ext/iconv/iconv.c:2491: undefined reference to `libiconv_open'
collect2: ld returned 1 exit status
make: *** [sapi/cli/php] Error 1 的问题

修改文件vi Makefile在安裝 PHP 到系统中时要是发生「undefined reference to libiconv_open'」之类的错误信息,那表示在「./configure 」沒抓好一些环境变数值。错误发生点在建立「-o sapi/cli/php」是出错,没給到要 link 的 iconv 函式库参数。 解决方法:编辑Makefile 大约77 行左右的地方: EXTRA_LIBS = ..... -lcrypt 在最后加上 -liconv,例如: EXTRA_LIBS = ..... -lcrypt -liconv 

 Make && make install