当前位置: 首页>>技术问答>>正文


如何彻底删除PHP?

, ,

问题描述

我需要从PHP 5.3软件包中清理我的服务器(有很多),以便能够编译PHP 5.2。什么是最简单/最安全的方法来摆脱它们?

最佳解决方法

这应该完全删除名称以php开头的任何包以及与之相关的任何包。

sudo apt-get purge 'php*'

次佳解决方法

我不建议运行sudo apt-get purge php*

那太吓人了!幸运的是,我没有输入-y选项,因为它在名称中选择了大约100个没有php的软件包。

sudo apt-get purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`

这个怎么运作:

首先,使用以下一系列命令生成包列表:dpkg -l | grep php| awk '{print $2}' |tr "\n" " "

提示:您可以在终端中运行该命令的这一部分,以查看将删除哪些软件包。你应该得到类似的东西:libapache2-mod-php5 php5 php5-cli php5-common php5-json

最后,当您运行完整命令时,此包列表将传递给sudo apt-get清除,删除所有包。

提示:如果您感觉更安全,您可以轻松地单独运行它们,并复制+粘贴包列表以进行删除:sudo apt-get purge libapache2-mod-php5 php5 php5-cli php5-common php5-json

第三种解决方法

您可能想要清除系统中的所有php *软件包。使用wild-card的东西应该可以工作

sudo apt-get purge php.*

您可能对How to rollback to PHP 5.2感兴趣的地方。

第四种方法

sudo apt-get -y purge libapache2-mod-php5 libapache2-mod-php5filter libexpect-php5 libgv-php5 libow-php5 php5 php5-adodb php5-auth-pam php5-cgi php5-cli php5-common php5-curl php5-dbg php5-enchant php5-exactimage php5-ffmpeg php5-fpm php5-geoip php5-gmp php5-idn php5-imagick php5-imap php5-interbase php5-intl php5-json php5-lasso php5-ldap php5-librdf php5-mapscript php5-memcache php5-memcached php5-mhash php5-midgard2 php5-ming php5-mssql php5-mysql php5-mysqlnd php5-odbc php5-pgsql php5-ps php5-pspell php5-radius php5-recode php5-remctl php5-rrd php5-sasl php5-snmp php5-sqlite php5-suhosin php5-svn php5-sybase php5-tidy php5-tokyo-tyrant php5-uuid php5-xcache php5-xdebug php5-xmlrpc php5-xsl

在您的情况下,您可以搜索所有包:

sudo aptitude search php5|awk {'print $2'}|grep -v i386|grep -v "^A"|tr "\n"  " "

然后清除它们:

sudo apt-get purge <list of packages found>

第五种方法

首先,您必须删除Apache及其所有依赖项:

sudo apt-get purge apache2 php5 libapache2-mod-php5 mysql-server libapache2-mod-auth-mysql php5-mysql phpmyadmin

然后:

sudo rm -rf /etc/apache2; rm -rf /etc/php5; rm -rf /var/lib/mysql; rm etc/mysql 

如果您对phpMyAdmin有任何问题,请尝试将其输入终端:

dpkg-reconfigure phpmyadmin

第六种方法

除了其他答案中提到的任何清除,如果你想完全确定一切都被删除,你可能想要运行

cd /
sudo find -name "php"

这将显示名称为php的文件/文件夹。然后,您将要检查每个文件路径,即:

cd /usr/local/include/php
ls

并根据需要删除它们。但是,请注意不要删除对于需要继续运行的其他进程至关重要的任何内容,除非您还想重新安装。

要删除目录或文件,我们使用带有-rf标志的rm注释,因此在上面的示例中,我们键入:

sudo rm -rf /usr/local/include/php

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1976.html,未经允许,请勿转载。