linux:一个 apache 两个 php 版本。可能吗?

linux:一个 apache 两个 php 版本。可能吗?

似乎我的一些 php 应用程序需要 php 5.2,有些需要 php 5.3。有没有办法配置 apache(v2.2.14),使一个虚拟主机可以与一个 php 库一起工作,而另一个虚拟主机则需要另一个 php 库?

目前我发现的唯一解决方案是安装两个 apache 和两个 php,并且每个 apache 驻留在不同的端口。

谢谢

答案1

如果你使用 PHP 4 和 5,那么你可以很容易地操作你想要使用的模块:

<IfModule mod_php5.c> 
<IfModule mod_php4.c> 

因此,有 3 种方法可以解决这个问题:

  1. 纠正 PHP 脚本中的问题(我认为这是最好的方法)
  2. 修改 PHP 源代码,使其报告自身为“mod_php52.c”,“mod_php53.c”
  3. 在需要时以 CGI 形式运行检查这里

您还可以在不同的端口上运行 2 个服务器并使用代理

答案2

是的,这是可能的。您应该通过 apache 配置中的“FcgidWrapper”指令使用 fastcgi 模式。这样,您可以为不同的 url 扩展名、路径甚至虚拟主机定义不同的 fastcgi 处理程序守护进程。在后台,每个 fastcgi 守护进程都可以轻松执行不同的 php 版本。

答案3

我用PHP农场运行多个 PHP 版本在一个 Apache 实例上。运行非常良好。

您基本上将替代的 PHP 版本安装为 CGI,并使用它们来处理.php某些虚拟主机中的文件。

相关内容