在Ubuntu服务器上安装多个PHP版本


Installing multiple PHP versions on Ubuntu Server

初始情况:

我有一个Ubuntu 12.04服务器托管3个网站(与Apache 2.2.22)

如何仅为其中一个网站安装不同的PHP版本?(其他2个应保持原样)

当前PHP版本:PHP 5.3.10所需PHP版本:PHP 5.6.6

到目前为止我所做的/理解的:

我已经试用了PHPBrew:http://phpbrew.github.io/phpbrew/

我成功地为命令行安装了PHP 5.6.6(使用PHPBrew),但Apache仍然使用PHP 5.3.10。

我知道我最终应该得到一个*.so文件,我需要把它放在/etc/apache2/httpd.conf文件中。(此文件目前为空)(通过LoadModule…)

但是:我没有*.so文件。我安装的PHPBrew是这样的:

phpbrew install 5.6.6+default+mysql+mcrypt

我认为我应该添加+apxs2=/usr/bin/apxs2,但如果我这样做,我会得到错误"异常:apxs二进制文件不可执行:/usr/bin/apxs2"。

我该怎么解决这个问题?

或者有更好的方法在一台服务器上运行不同的PHP版本吗?最好的方法是什么?

仔细检查.so文件,它们应该在`/usr/lib/apache2/modules/``中

然后,您应该编辑您的/etc/apache2/mods-enabled/php5.load,并指定与您的安装相对应的.so文件,在您的情况下:

LoadModule php5_module /usr/lib/apache2/modules/libphp5.6.16.so

在同一个盒子上运行多个PHP版本的另一种解决方案是使用Docker,请参阅我在另一个线程中的回答:在同一盒子上运行多种PHP版本

请注意,使用此解决方案,不同的端口将提供不同的PHP版本。