红联Linux门户
Linux帮助

linux中升级php和GD库笔记

发布时间:2008-03-31 16:53:41来源:红联作者:traceble
php-5.1.2.tar.gz

安装php所需的软件包
(其中libxml2是安装php5必须的,为什么还需要perl呆会说明原因。)
libxml2-2.6.19.tar.gz
libxslt-1.1.15.tar.gz
ActivePerl-5.8.8.817-i686-linux-2.2.17-gcc-257965.rpm
curl-7.15.0.tar.gz

GD库所需要软件包
(有人说PHP源码包里自带了GD2.0.28和zlib,
只要安装GD的三个支持包:jpg,png和freetype,但是我们还是下载)
gd-2.0.33.tar.gz
freetype-2.1.10.tar.gz
jpegsrc.v6b.tar.gz
libpng-1.2.8.tar.gz
zlib-1.2.3.tar.gz

//安装jpeg
[root@as4 local]# mkdir -p /home/servers/jpeg6
[root@as4 local]# mkdir -p /home/servers/jpeg6/bin
[root@as4 local]# mkdir -p /home/servers/jpeg6/lib
[root@as4 local]# mkdir -p /home/servers/jpeg6/include
[root@as4 local]# mkdir -p /home/servers/jpeg6/man
[root@as4 local]# mkdir -p /home/servers/jpeg6/man1
[root@as4 local]# mkdir -p /home/servers/jpeg6/man/man1

# tar -zvxf jpegsrc.v6b.tar.gz
# cd jpeg-6b
# ./configure --prefix=/home/servers/jpeg6/ --enable-shared --enable-static
# make; make install


b.安装libpng
# cd ..
# tar -zvxf libpng-1.2.8.tar.gz
# cd libpng-1.2.8
# cp scripts/makefile.std makefile
# make; make install


c.安装 freetype
# cd ..
# tar -zvxf freetype-2.1.10.tar.gz
# cd freetype-2.1.10
# mkdir -p /home/servers/freetype
# ./configure --prefix=/home/servers/freetype
# make;make install


d.:安装zlib
# cd ..
#tar -zxvf zlib-1.2.3.tar.gz
#cd zlib.1.2.3
# ./configure
# make;make install


e.安装GD库
# cd ..
# tar -zvxf gd-2.0.33.tar.gz
# mkdir -p /home/servers/gd2
# cd gd-2.0.33
# ./configure --prefix=/home/servers/gd2 --with-jpeg=/home/servers/jpeg6/ --with-png=/usr/local/lib/ --with-zlib=/usr/local/lib/ --with-freetype=/home/servers/freetype/
# make; make install

e.安装Curl库
# cd ..
# tar -zxvf curl-7.15.0.tar.gz
# mkdir -p /home/servers/curl
# ./configure --prefix=/home/servers/curl
# make; make install

五:安装php5,php5必须有libxml2支持!
a.安装libxml2
# cd ..
# tar -zxf libxml2-2.6.19.tar.gz
# cd libxml2-2.6.19
# mkdir -p /home/servers/libxml2
# ./configure --prefix=/home/servers/libxml2
# make; make install

b.安装 libxslt(可选安装,你可以不安装)
# cd ..
# tar -zxf libxslt-1.1.15.tar.gz
# mkdir -p /home/servers/libxslt
# cd libxslt-1.1.15
# ./configure --prefix=/home/servers/libxslt --with-libxml-prefix=/home/servers/libxml2
# make; make install

c.安装php5
# cd ..
# tar -zvxf php-5.1.2.tar.gz
# mkdir -p /usr/local/php
# cd php-5.05
# ./configure --prefix=/home/servers/php5 --with-apxs2=/home/servers/apache/bin/apxs --with-mysql=/home/servers/mysql522 --with-curl=/home/servers/curl --enable-ftp --with-libxml-dir=/home/servers/libxml2 --with-expat-dir=/usr/lib --enable-soap --with-gd=/home/servers/gd2/ --with-jpeg-dir=/home/servers/jpeg6/ --with-zlib-dir=/usr/local/lib/ --with-png=/usr/local/lib/ --with-freetype-dir=/home/servers/freetype/
# make
# make install
# cp php.ini-dist /usr/local/php/lib/php.ini (别忘记了呵呵)

在PHP5.2的编译的过程中,如果遇到

checking for MySQL support... yes
checking for specified location of the MySQL UNIX socket... no
checking for MySQL UNIX socket location... no
configure: error: Cannot find libmysqlclient_r under /usr/local/mysql.
Note that the MySQL client library is not bundled anymore!

那么,你需要注意了,你可能在编译APACHE的时候,使用--with-mpm模块,请在编译MYSQL的时候加上 --enable-thread-safe-client.

这是PHP5.2的一个改进,在PHP5.2.0之前的版本都不需要MYSQL启用安全线程。
文章评论

共有 3 条评论

  1. 卡呆 于 2009-08-20 16:31:38发表:

    引用:
    php-5.1.2.tar.gz

    安装php所需[color=black]网络游戏
    的软件包
    (其中libxml2是安装php5必须的,为什么还需要perl呆会说明原因。)
    libxml2-2.6.19.tar.gz
    libxslt-1.1.15.tar.gz
    ActivePerl-5.8.8.817-i686-linux-2.2.17-gcc- ...
    traceble 发表于 2008-3-31 16:53
    [/color]
    有些命令还是不知道什么意思

  2. lixinbiao9999 于 2009-08-20 14:56:15发表:

    太谢谢了,正需要这东西呢,嘿嘿,谢谢!

  3. wangyoubang 于 2009-07-30 08:05:05发表:

    好东西