Php
如何強制 httpd 使用更新的 php/php-cgi
嗨,我在處理 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,您需要找到
httpd
Apache 的版本及其配置文件的位置。然後你需要將配置文件複製到/etc/apache2
.您可能還需要檢查 PHP 配置文件。
不過,最好從頭開始重新建構配置。