RHEL 4上面安装PHP 5

CSDN的BLOG待我不薄呀,当我写完整篇文章,一按提交,傻了,回到原来的空页,我的内容全没有了!

唉,心淡!我最怕就是出现这种情况。

 

无办法,重写了,唯有再写简短一些。

 

RHEL4(Redhat Enterprise Linux 4)是红帽推出的企业级发行版。RHEL4自带的PHP版本是4.3.x,MySQL是4.1.x,Apache(RHEL里面叫httpd)是2.0.4x。相对于现在来说有些老,特别是PHP。本文着重讲述如何在RHEL利用原有的的Apache及MySQL安装PHP 5。

 

1. 准备安装包

zlib http://www.zlib.net/zlib-1.2.3.tar.gz

jpeg ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz

freetype http://download.savannah.gnu.org/releases/freetype/freetype-2.3.5.tar.gz

png ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.2.26.tar.gz

gd http://www.libgd.org/releases/gd-2.0.35.tar.gz

php,直接到www.php.net下载,这里我下载的是5.2.9版本

 

mkdir /home/php

wget --backgroud http://www.zlib.net/zlib-1.2.3.tar.gz

wget --backgroud ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz

wget --backgroud http://download.savannah.gnu.org/releases/freetype/freetype-2.3.5.tar.gz

wget --backgroud ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.2.26.tar.gz

wget --backgroud http://www.libgd.org/releases/gd-2.0.35.tar.gz

wget --backgroud http://cn.php.net/get/php-5.2.9.tar.gz/from/this/mirror

 

2. 卸载RHEL4自带的PHP及相关扩展包

rpm -qa|grep php # 查询一下已安装了哪些php相关的包

rpm -qa|grep gd- # 查询一下系统是否已经安装了自带的GD库

rpm -e php-XXXXX 

rpm -e gd-XXXX # 自带的GD库也卸掉,因为接下来我们将自己动手编译GD库

 

3. 检查Apache、MySQL相关包的安装

rpm -qa|grep httpd # 查询一下httpd的安装情况,请确保已安装httpd-devel包

rpm -qa|grep mysql # 查询一下MySQL的安装情况,请确保已安装mysql-devel包

实际上,使用RHEL原有的httpd和mysql去装PHP 5,关键就在于要把两者的devel包装上,否则到编译PHP 5的时候指定不到相关的一些路径。

 

4. 安装Zlib、png、freetype、jpeg、gd及libxml2库

4.1:安装ZLIB2

tar zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make
make install clean

 

4.2:安装PNG

tar zxvf libpng-1.2.26.tar.gz
cd libpng-1.2.26

./configure
make
make install clean

 

4.3:安装freetype

cd freetype-2.3.5
./configure
make
make install

 

4.4:安装JPEG6

tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
mkdir -pv /usr/local/jpeg/{,bin,lib,include,man/man1,man1}
./configure --prefix=/usr/local/jpeg --enable-shared -- enable-static
make
make install

 

4.5:安装GD

tar zxvf gd-2.0.35.tar.gz

cd gd-2.0.35
./configure --with-png --with-freetype --with-jpeg=/usr/local/jpeg/
make
make install

在configure完后,要注意看看

 

编译的时候,最后结果那里可以看到
** Configuration summary for gd 2.0.35:
Support for PNG library: yes
Support for JPEG library: yes
Support for Freetype 2.x library: yes
Support for Fontconfig library: no
Support for Xpm library: no
Support for pthreads: yes
可以看到png 、 jpeg 、 freetype都已经安装上了

 

 

4.6:安装LIBXML2

tar zxvf libxml2-2.6.31.tar.gz
cd libxml2-2.6.31
./configure --prefix=/usr/local/libxml2
make
make install
cp xml2-config /usr/bin

#上面libxml2是使用源码安装的,这里我采用RHEL自带的libxml2,版本有些区别,估计不会有什么问题(实际上是偷懒:D)

rpm -ivh libxml2-2.6.16-12.i386.rpm

rpm -ivh libxml2-devel-2.6.16-12.i386.rpm

 

5. 安装PHP 5

好,万事俱备,只欠PHP5这股东风了。相信大家都清楚在LINUX下面源码编译安装的三个步骤:configure、make、make install。其实一直以来我之所以却步于编译安装PHP,是因为configure里面涉及很多参数,而且PHP官方手册里面在PHP安装一章里面又没有统一列出所有的参数设置说明,而是在各个扩展模块的Installing页进行说明。所以一开始并不知道哪些是必要,哪些是次要的。不像在Windows里面,安装好之后,只需要调整一下php.ini里面的extension设置就可以加载相应的扩展模块。其实,道理也是差不多的,只不过在LINUX下面是需要重新编译PHP来打开相关的扩展。因此在网上找了一些文章参照着来做,尝试一下。

还有一个难点就是一些相关路径的指向。如果是直接从网上下载相关的源码包,那相对来说会简单些,因为知道他们的位置。如果使用RHEL自带的包就可能会有些复杂了,因为不是那么直接就知道路径位置。所以这里给出了一些对应的路径:

# 以下是使用RHEL自带包安装后的路径信息:

apxs => /usr/sbin/apxs  #安装了httpd-devel才会有的

mysql=> /usr/bin/mysql
libxml2 => /usr/include/libxml2

# 以下是从网上下载源码包安装后的路径信息:

freetype => /usr/include/freetype2

png => /usr/local/libpng
jpeg => /usr/local/jpeg

好了,相关信息准备好就可以开始安装!

 

mkdir /usr/local/php5

cd /home/php/php-5.2.9

./configure --prefix=/usr/local/php5 --with-mysql=usr/bin/mysql --with-apxs2=/usr/sbin/apxs --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/inclue/freetype2/ --with-zlib --with-png-dir=/usr/local/libpng --with-libxml-dir=/usr/local/libxml2 --with-gd --enable-ftp --enable-sockets --enable-mbstring

#配置成功

make

#注意:这里会出现一个错误信息,来源于httpd.h第43行找不到pcreposix.h文件,需要修改一下才能继续编译:

vi /usr/include/httpd/httpd.h

找到43行

#include "pcreposix.h"

改为

#include "/home/php/php-5.2.9/ext/pcre/pcrelib/pcreposix.h"

保存退出,再make一次。

#make完成

 

make install

#至此PHP 5已经安装完成

 

6. 配置PHP、Apache

# 生成PHP配置文件

cp php.ini-dist /usr/local/php5/lib/php.ini
vi /usr/httpd/conf/httpd.conf

# 添加下面两行

AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps

# 搜索
LoadModule php5_module        /usr/lib/httpd/modules/libphp5.so
# 看看是否有被屏蔽。

# 保存退出,重启httpd服务
service httpd restart

 

7. 测试

# 写一个测试脚本

vi /var/www/html/info.php

<?php

phpinfo();
?>

打开浏览器:http://rhel-ip/info.php

查看一下GD、MySQL及mbstring等库是否有被加载

 

8. 安装Zend Optimizer

到www.zend.net下载ZendOptimizer-3.0.0
tar -zxvf ZendOptimizer-3.0.0-linux-glibc23-x86_64.tar.gz
cd ZendOptimizer-3.0.0-linux-glibc23-x86_64
./install

 

PHP5至此已经安装完成了,如果在使用中需要加载其它一些模块,可以再进入/home/php/php-5.2.9进行configure/make/make install编译,步骤可以参考上述内容。

我认为源码编译的关键点就在于被编译的程序是否与其它相关的库有所关联,在进行编译安装之前,我们可以先收集好相关的安装信息,如包的关联性、路径、配置参数等等,把准备功夫做足之后,再进行编译安装,这样成功的机会就比较大了。

由此也可见,源码编译的过程是比较复杂,而且还需要一些编程的基础知识,对于一般用户来说是比较困难的,因此也就出现现在的apt、yum、yast等等的安装包管理工具。

 

=================================================================

相关参考:

1. 编译安装php5的过程总结 - 陈沙克日志http://hi.baidu.com/chenshake/blog/item/9ec3a41278f8eecbc3fd78b9.html

2. wget使用方法

3. rpm使用方法

4. http://www.php.net

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值