初步情况:
我有一个托管3个网站的Ubuntu 12.04服务器(使用Apache 2.2.22)
如何只为其中一个网站安装不同的PHP版本?
(另外2个应保持原样)
当前PHP版本:PHP 5.3.10
期望的PHP版本:PHP 5.6.16
到目前为止我做了什么/理解:
我已经尝试过PHPBrew:
http://phpbrew.github.io/phpbrew/
我设法为命令行安装PHP 5.6.16(使用PHPBrew),但Apache仍然使用PHP 5.3.10.
我明白我应该得到一个* .so文件,我需要放在/etc/apache2/httpd.conf文件中. (此文件目前为空)
(通过LoadModule ……)
但是:我没有任何* .so文件.
我像这样安装了PHPBrew:
phpbrew安装5.6.16默认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,请参阅另一个帖子中的答案:Multiple PHP versions on the same box
请注意,使用此解决方案,不同的PHP版本将在不同的端口上提供.