初始情况:
我有一个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版本。