实际上,我在所有的项目中都使用了PHP5.3。但是,出于所有您知道的原因,我想更新到PHP5.4(或5.5)。
我们还将很快在AWS EC2上迁移,例如在一个“正常”的Linux上,Debian。
但问题是,我们有一些旧的项目,由于某些原因,我们不能迁移到PHP5.3,而且由于其他一些原因,我们也不能删除它们。
因此,我想知道在我们的AWS EC2实例上隔离这些项目的最好方法是使用多个版本的PHP/Apache。
我正在考虑使用Docker,这样我们就可以轻松地在主系统上安装另一个PHP/Apache。另外,知道它是一种VM听起来不错,所以它不会对主“服务器”产生任何影响。
这是最好的解决办法吗?
编辑:而且,由于一些成本原因,我们无法负担另一个EC2实例
发布于 2014-08-13 11:28:47
您没有提到OS,但是假设它是基于linux的,最好的解决方案是通过在相应的应用程序用户的主目录中编译来创建多个应用程序用户,并安装不同版本的php。
例如,创建用户user1 (home目录:/home/ user2 1/)和user2 (home目录:/home/user2 2/)。现在切换到user1,分别通过路径/home/user1 1/app/php和/home/user1 1/app/ apache下的编译来安装php5.3和apache。对user2也这样做,但这次使用的是另一个版本的php。请记住,apache必须在不同的端口上运行,以避免端口冲突。您可以使用多个vhost安装第三个apache作为反向代理,它将接受端口80上的流量,并根据请求将它们发送到不同的后端apache。
交通会是这样的
client http request <--> apache rp <---> app1 based on apache1 or app2 based on apache2问候
拉贾施·哈尔达尔
发布于 2014-08-15 08:02:15
为什么不使用php并安装其中的两个呢?然后,您可以决定与哪个vhost一起使用哪一个。因此,每个vhost都可以有自己的php版本。在这种情况下,只有一个apache服务器在运行。
这应该是相当容易找到的教程谷歌关于这一点。
https://stackoverflow.com/questions/25284086
复制相似问题