如何将 apache 指向不同版本的 php

如何将 apache 指向不同版本的 php

我在 ubuntu 上安装了 apache,如下所示:

apt-get install apache2

我最初通过以下方式安装 PHP:

apt-get install php5

这给了我 php 5.3.x。现在我想使用最新版本的 php 5.4.x,所以我从源代码安装了。通过 cli

$ php -v

输出正确的版本 PHP 5.4.3

当我运行phpinfo()Web 时,我仍然得到 php5.3.x。我该如何让 apache 使用我新安装的 php?

答案1

您可以将其放入 vhost 配置中:

AddHandler php-cgi-script .php
Action php-cgi-script /php5/php5-cgi

附带的 php 模块配置如下:

ScriptAlias /php5 /usr/bin
<Directory /usr/bin/>
    Options +ExecCGI +FollowSymLinks
    AllowOverride None
</Directory>

我不知道它究竟如何适合您的设置,所以您需要稍微即兴发挥一下。

另外,非常需要注意的是:有一个巨大的安全漏洞在 PHP CGI 中。测试它是否对你有影响。

答案2

当您即将编译 PHP 时就会发生“钩子”。

$ which apx2

如果没有输出,则运行

$ apt-get install apache2-prefork-dev
$ which apx2

复制“which”命令提供的位置。在 php 源代码中,运行

$ ./configure --with-apxs2=/usr/bin/apxs2

将 /usr/bin/apxs2 替换为剪贴板上的位置。重新启动 apache,它就可以运行了!

$ /etc/init.d/apache restart

相关内容