Php

如何強制 httpd 使用更新的 php/php-cgi

  • April 17, 2017

嗨,我在處理 Debian Wheezy 伺服器上更改 PHP 版本時遇到問題。它以前是 Debian Squeeze 和 PHP 5.2.17,我進行了 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。

由於 PHP 位於/usr/local/bin,說明有人自己編譯了 PHP 和 Apache,並安裝了它們。

為了使用發行版的 Apache,您需要找到httpdApache 的版本及其配置文件的位置。然後你需要將配置文件複製到/etc/apache2.

您可能還需要檢查 PHP 配置文件。

不過,最好從頭開始重新建構配置。

引用自:https://serverfault.com/questions/844805