当两套PHP程序分别基于PHP 2.3和PHP 3.0需同时上线时,若部署在同一服务器,常面临版本兼容与端口冲突问题。虽然可部署多个Apache实例,但会引发端口占用,且通过不同端口访问需在域名后附加端口号,影响使用体验。增加服务器虽可行,但成本较高。更优方案是在单台服务器上实现多版本PHP共存运行。可通过Apache结合.htaccess配置,利用PHP-CGI方式灵活调用不同版本的PHP解析器,使每个项目独立使用指定版本,无需更改端口或增加硬件投入,兼顾效率与成本,实现平滑共存与稳定运行。
1、 首先下载所需PHP版本,也可选择安装PHPStudy集成环境,本文以PHPStudy为例进行说明。

2、 修改Apache配置文件,为各PHP版本配置对应的别名。
3、 查找alias_module模块配置,并按图示进行设置。

4、 在mime_module模块中加入指定代码即可。

5、 要使.htaccess文件生效,需在httpd.conf配置文件中定位到与之间的节点,将其中的AllowOverride选项由默认值修改为AllowOverride All,这样Apache服务器才会读取并应用.htaccess中的规则,实现对目录的分布式配置控制。
6、 该图展示的是Apache 2.4的配置详情,Apache 2.2配置存在差异,具体请查阅相关文档资料。

7、 在目标网站目录下创建.htaccess文件,并在其中添加指定PHP版本的配置代码,以确保服务器使用所需的PHP版本运行程序。
8、 比如程序为PHP5.2版本,其中的php52指第二步所设PHP目录的别名。
9、 采用此方法时,若伪静态按此方式设置
10、 请改成
11、 使用phpstudy集成环境的用户,请按图示注释httpd.conf配置文件中的相应内容。
