我最近从 PHP 5.3.4 升级到了 PHP 5.4.4,现在我想降级。我删除了存储库后删除了所有软件包apt-get remove php5
,然后运行apt-get install php5
,但 Apache 现在仍然无法启动,错误日志显示:
[Thu Aug 23 19:01:10 2012] [notice] Apache/2.2.17 (Ubuntu) PHP/5.4.4-4~natty+1 configured -- resuming normal operations
我甚至运行了这个来确保不再有 5.4.4:
root@server:~# apt-cache policy php5
php5:
Installed: 5.3.5-1ubuntu7.10
Candidate: 5.3.5-1ubuntu7.10
Version table:
*** 5.3.5-1ubuntu7.10 0
500 http://us.archive.ubuntu.com/ubuntu/ natty-updates/main i386 Packages
500 http://security.ubuntu.com/ubuntu/ natty-security/main i386 Packages
100 /var/lib/dpkg/status
5.3.5-1ubuntu7 0
500 http://us.archive.ubuntu.com/ubuntu/ natty/main i386 Packages
我该如何解决?
答案1
当您这样做时,apt-get remove php5
您刚刚删除了元包。
要列出已安装的所有 php5 包,您需要执行以下操作:dpkg -l '*php5*'
然后删除所有已安装的包,或者直接执行apt-get remove php5-common
,这将删除依赖链中所有其他 php5 包的依赖项“基础”包,从而删除所有已安装的 php5 包。
干杯,Ondrej
答案2
“Apache 应该在“/usr/libexec/httpd/”中寻找模块。在那里,您会找到一个名为“libphp5.so”的文件或符号链接。如果是符号链接,则需要重新链接到新的 5.2.8 libphp5.so,否则只需将 5.2.8 libphp5.so 复制到“/usr/libexec/httpd/”并使用“sudo apachectl restart”重新启动 apache。”
取自https://stackoverflow.com/questions/387992/how-do-i-tell-apache-which-php-to-use
答案3
你可以尝试
sudo apt-get purge php5-*