网站地图    收藏   

主页 > 后端 > PHP语言 >

不同PHP版本共存的方法,我们需要分两种情况,首

来源:自学PHP网    时间:2014-09-17 22:19 作者: 阅读:

[导读] 不同PHP版本共存的方法,我们需要分两种情况,首先假设需要不同的PHP版本数位两个。...

0.背景

关于这个问题,我们需要分两种情况,首先假设需要不同的PHP版本数位两个。

 

第一种情况:两类php程序后缀名不同

比如,.php结尾的程序需要PHP 4.3.x,而.htm1结尾的程序需要PHP 4.1.2,这种情况可以通过设置不同的MIME来解决,这里不讨论。

 

 

第二种情况:两类php程序后缀名相同

比如,两部分程序都是以.htm1结尾,但是某些目录下面的模块需要用PHP 4.3.6解析,其他的都用PHP 4.1.2解析。这种情况比较复杂,重点讨论

 

 

1.主要思路

通过安装配置各两份ApachePHP来解决这个问题,分别装在4个不同目录下,一份Apache监听80端口用PHP 4.1.2解析.htm1,另一份Apache监听81端口用PHP 4.3.6解析.htm1,这样就解决了这个问题,可能比较麻烦的一点是,一些模块的连接路径需要加上端口号。

 

2.步骤

a) 先安装带PHP 4.3.6版本的Apache+PHP

假定我们已将ApachePHP的源码包下载至 /usr/local/download/ 里,安装方式如下:

先解包:

tar zvxf apache_1.3.31
cd apache_1.3.31

 

编译apache

./configure --prefix=/usr/local/apache_a --enable-module=so \

--enable-module=rewrite --enable-shared=max

make

make install ; cd ..

注意以上红色字体部分,这是第一份apache的安装位置。

然后编译php 4.3.6

tar zvxf php4.3.6.tar.gz
cd php4.3.6
./configure --prefix=/usr/local/php_4.3.6 --with-mysql \
--with-apxs=/usr/local/apache_a/bin/apxs

make

make install

 

拷贝PHP的配置文件:

cp php.ini-dist /usr/local/php_4.3.6/lib/php.ini

 

修改/usr/local/apache_a/conf/httpd.conf

 

查找<IfModule mod_mime.c>

在此范围添加

AddType application/x-httpd-php .php .htm1

查找<IfModule mod_dir.c>

DirectoryIndex后添加

index.htm1 index.php

 

 

b) 先安装带PHP 4.1.2版本的Apache+PHP

进入之前解开的那份Apache目录内

cd apache_1.3.31

 

编译apache

./configure --prefix=/usr/local/apache_b --enable-module=so \

--enable-module=rewrite --enable-shared=max

make

make install ; cd ..

注意以上绿色字体部分,这是第二份apache的安装位置。

 

然后编译php 4.1.2

 

tar zvxf php4.1.2.tar.gz
cd php4.1.2
./configure --prefix=/usr/local/php_4.1.2 --with-mysql \
--with-apxs=/usr/local/apache_b/bin/apxs

make

make install

 

拷贝PHP的配置文件:

cp php.ini-dist /usr/local/php_4.1.2/lib/php.ini

修改/usr/local/apache_b/conf/httpd.conf

 

查找Port 80

改为 Port 81

 

查找<IfModule mod_mime.c>

在此范围添加

AddType application/x-httpd-php .php .htm1

查找<IfModule mod_dir.c>

DirectoryIndex后添加

index.htm1 index.php

 

 

c) 分别启动两份Apache

/usr/local/apache_a/bin/apachectl start

/usr/local/apache_b/bin/apachectl start

 

并且这两份Apache设置为开机自动启动:

echo “/usr/local/apache_a/bin/apachectl start” >> /etc/rc.d/rc.local

echo “/usr/local/apache_b/bin/apachectl start” >> /etc/rc.d/rc.local

 

 

d) 其他一些需要注意的事项 更多php资料

本机器的防火墙,以及机房的防火墙都要开放81端口,相关的链接地址需要修改。

 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论