嗨,我在更改 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,您需要找到httpd
Apache 版本及其配置文件的位置。然后您需要将配置文件复制到/etc/apache2
。
您可能还需要检查 PHP 配置文件。
不过,最好从头开始重新构建配置。