前面我们讲了在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个版本切换。
在开始本教程之前,我认为你已经阅读了以下文章
未阅读以上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,如下图所示:
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目录下,如下图所示:
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
可以看到输出的信息分别如下图所示:
自此,apache php多版本共存就配置完成了。