如果你手上有两套php程序,一套是基于php2.3,一套是基于php3.0的,两套程序要同时上线,此时你可以安装多个apache,但是存在端口冲突 问题,如果使用不同端口,域名就要带端口号。增加服务器也是一种方法,但是增加了不必要的成本。如果在一台服务器上同时运行多个版本的php程序呢? 使用Apache  + .htaccess + PHP CGI方案解决这个问题
首先,我们先下载我们所要的php版本,你也可以下载phpstudy集成开发环境,这里以phpstudy集成开发环境为例

打开apache配置文件,设置每个php版本的别名信息.

找到alias_module模块的配置信息,像如图配置

    ScriptAlias /php53/ "C:/phpStudy/php52/"
    ScriptAlias /php54/ "C:/phpStudy/php53/"

找到mime_module模块,添加以下代码

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

 

为了.htaccess文件起作用,我们需要在httpd.conf中找到 <Directory /> </Directory> 节点将里面的 AllowOverride 属性修改为 AllowOverride All.

图为apache2.4的配置信息,apache2.2的配置信息略有不同,请参考其他资料


到你想指定php版本的网站目录中放置一个.htaccess文件,在文件中写入程序对应的php版本的打码信息

例如,如果程序是php5.2的,下面的php52是第二步中设置的php所在的目录别名

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

使用此方法时,如果伪静态是这样配置的

RewriteRule ^(.*)$ /index.php/$1 [L]

请改成

RewriteRule ^(.*)$ /index.php?/$1 [L]
对于使用phpstudy集成环境的网友,请在按下图注释httpd.cof的配置

 

 

 

 

稳定

产品高可用性高并发

贴心

项目群及时沟通

专业

产品经理1v1支持

快速

MVP模式小步快跑

承诺

我们选择声誉

坚持

10年专注高端品质开发
  • 返回顶部