初始状况:
我有一个托管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 install 5.6.16 + default + mysql + mcrypt
我想我应该添加+ apxs2 = / usr / bin / apxs2但是如果我这样做我会收到错误&#34;例外:apxs二进制文件不可执行:/ usr / bin / apxs2&#34;。< / p>
我该如何解决这个问题?
或者有更好的方法在一台服务器上运行不同的PHP版本吗? 什么是最好的方式?
答案 0 :(得分:1)
仔细检查.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版本。