欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

一台服务器同时运行多个版本的php

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

方法/步骤

 
  1. 首先,我们先下载我们所要的php版本,你也可以下载phpstudy集成开发环境,这里以phpstudy集成开发环境为例

    一台服务器同时运行多个版本的php
  2. 打开apache配置文件,设置每个php版本的别名信息.

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

    一台服务器同时运行多个版本的php
  3. 找到mime_module模块,添加以下代码

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

    一台服务器同时运行多个版本的php
  4. 为了.htaccess文件起作用,我们需要在httpd.conf中找到 <Directory /> </Directory> 节点将里面的 AllowOverride 属性修改为 AllowOverride All.

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

    一台服务器同时运行多个版本的php
  5. 到你想指定php版本的网站目录中放置一个.htaccess文件,在文件中写入程序对应的php版本的打码信息

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

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

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

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

    请改成

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

  7. 对于使用phpstudy集成环境的网友,请在按下图注释httpd.cof的配置

    一台服务器同时运行多个版本的php
    END
 
普通分类: