编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

apache php多版本共存配置

前面我们讲了在window下的apache php配置,该种配置方法,适合单php的环境,在实际开发中,可能需要涉及到多个php版本间的切换,其实修改单个php配置中的以下代码,也可以实现多个php版本的切换,不过比较麻烦。

#LoadModule vhost_alias_module modules/mod_vhost_alias.so

LoadModule php5_module "D:/web/php5.2.13/php5apache2_2.dll"

PHPIniDir "D:/web/php5.2.13/php5.3.25"

本教程为了简便,只进行php5.2.13和5.4.45的2个版本切换。

在开始本教程之前,我认为你已经阅读了以下文章

apache httpd下载图文教程

apache httpd安装与配置教程

php下载教程

apache、php在windows下配置教程

未阅读以上4篇文章,导致apache php多版本配置不成功,也就是apache php多版本不能共存的,别怪我啊~~

在配置多版本php前,先保证apache httpd已经安装配置成功。

apache我下载的是httpd-2.2.31-x86-r2.zip,php我下载的是php-5.2.13RC2-Win32-VC6-x86.zip和php-5.4.45-Win32-VC9-x86.zip,如下图所示:

下载好的apache和php

1、解压php-5.2.13RC2-Win32-VC6-x86.zip更名为php5.2.13并复制到D盘web目录下,解压php-5.4.45-Win32-VC9-x86.zip更名为php5.4.45并复制到D盘web目录下,如下图所示:

解压php-5.2.13-nts-Win32.zip更名为php5.2.13 解压php-5.4.45-Win32-VC9-x86.zip更名为php5.4.45

2、修改httpd.conf文件,该文件在apache22\conf文件夹下。

大概在118行

#LoadModule rewrite_module modules/mod_rewrite.so

添加如下代码

#LoadModule rewrite_module modules/mod_rewrite.so

Include conf/extra/httpd-vhosts.conf

3、编辑httpd-vhosts.conf文件,位置在D:\web\Apache22\conf\extra下。

用以下代码覆盖httpd-vhosts.conf文件

# 设置php后缀的文件类型为application/x-httpd-php

AddType application/x-httpd-php .php

# ScriptAlias可以映射一个URL到文件系统并视之为CGI脚本,我们就可以使用ScriptAlias来映射不同版本php文件夹。

ScriptAlias /php-5213/ "D:/web/php5.2.13/"

ScriptAlias /php-5445/ "D:/web/php5.4.45/"

# 配置目录允许访问

 Order allow,deny

 Allow from all


# 配置虚拟主机站点目录

 DirectoryIndex index.php index.html

 Options Indexes FollowSymLinks Includes ExecCGI

 AllowOverride All

 Order allow,deny

 Allow from all


# 定义D:/web/Apache22/htdocs/5213下的站点使用/php-5213/php-cgi.exe来执行。

 Action application/x-httpd-php "/php-5213/php-cgi.exe"


# 定义D:/web/Apache22/htdocs/5445下的站点使用/php-5445/php-cgi.exe来执行。

 Action application/x-httpd-php "/php-5445/php-cgi.exe"


4、在htdocs下新建文件夹5213和5445,在这2个文件加下分别放入index.php文件,index.php文件的内容为:


5、最后启动apache,分别访问以下连接:

http://localhost:8012/5213/index.php

http://localhost:8012/5445/index.php

可以看到输出的信息分别如下图所示:

php5.2.13的phpinfo信息

php5.4.45的phpinfo信息

自此,apache php多版本共存就配置完成了。

未经允许不得转载: 技术文章 » IT运维 » apache php多版本共存配置