如何强制 httpd 使用较新的 php/php-cgi

如何强制 httpd 使用较新的 php/php-cgi

嗨,我在更改 Debian Wheezy 服务器上的 PHP 版本时遇到了问题。它之前是使用 PHP 5.2.17 的 Debian Squeeze,我进行了 dist 升级,还升级了与 PHP 相关的所有内容(PHP 5.6.30)。

    "which php" command gives:
    /usr/local/bin/php

在该路径下有 php 和 php-cgi 的可执行文件,使用“-v”可得到 5.6.30

   php -v
   php5 -v
   php-cgi -v
   also gives PHP 5.6.30

唯一出错的路径是 /usr/local/php5/bin,因为在该文件夹中 ./php 给出版本 5.2.17,并且它与 httpd 使用的版本相同。我尝试过简单地替换可执行文件,但它给出了内部服务器错误。

我也尝试过 apt-get 删除任何与 php 相关的内容并重新安装 php5,但它也不起作用。

该服务器上的配置确实很奇怪,涉及许多 VirtualHosts 和 httpd(不太清楚,但 /etc/init.d/apache2 start/stop 不起作用,只有 /etc/init.d/httpd start/stop。我无法真正改变那里的所有内容,因为我无法从头开始配置整个内容。

有什么想法可以强制 httpd 使用 php-cgi 5.6.30 而不是这个 5.2.17 旧版本?

phpinfo(); 返回使用 CGI/FastCGI。

答案1

由于在 上找到了 PHP /usr/local/bin,这就意味着有人自己编译了 PHP 和 Apache,并安装了它们。

为了使用发行版的 Apache,您需要找到httpdApache 版本及其配置文件的位置。然后您需要将配置文件复制到/etc/apache2

您可能还需要检查 PHP 配置文件。

不过,最好从头开始重新构建配置。

相关内容