如何彻底删除PHP?

cor*_*rev 76 php package-management

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

Rob*_*inJ 111

未经仔细审查,不建议使用此方法。阅读下面的评论。


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

sudo apt-get purge 'php*'
Run Code Online (Sandbox Code Playgroud)

不要按,y直到您确保在删除包列表中没有其他包(除了与 php 包相关的包),例如:

php-common* python-openssl* php-curl* ... and tons of packages

如果是这样,请键入n,复制列表(并从不相关的包中整理),然后手动删除它们:

sudo apt-get purge      php-common* php-curl*    ... and tons of packages
Run Code Online (Sandbox Code Playgroud)

  • `php*` 会将其视为正则表达式,并且名称中带有 `ph` 的包将被删除。 (19认同)
  • 这个确切的命令只是从我的系统中擦除了所有包。我不建议任何人使用它。 (11认同)
  • 我是唯一一个认为这不是一个真正安全的想法的人吗? (8认同)

小智 95

建议跑步sudo apt-get purge php*

那太可怕了!幸运的是,我没有输入-y选项,因为它选择了大约数百个没有php名字的包。

sudo apt-get purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
Run Code Online (Sandbox Code Playgroud)

这个怎么运作:

首先,利用这一系列的命令生成的软件包列表:dpkg -l | grep php| awk '{print $2}' |tr "\n" " "

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

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

提示:如果您觉得更安全,您可以轻松地单独运行它们,然后复制并粘贴要删除的软件包列表,如下所示:sudo apt-get purge libapache2-mod-php5 php5 php5-cli php5-common php5-json

  • 这应该是公认的答案 (6认同)
  • 如果在Ubuntu上没有安装或无法安装`aptitude`怎么办,`apt-get cache`搜索怎么样? (2认同)

Mar*_*ppi 22

您可能希望从系统中清除所有 php* 包。带有通配符的东西应该可以工作

sudo apt-get purge php.*
Run Code Online (Sandbox Code Playgroud)

您可能对如何回滚到 PHP 5.2以了解下一步的方向感兴趣。

  • `php*` 会将其视为正则表达式,并且名称中带有 `ph` 的包将被删除。 (8认同)

小智 5

首先,您必须使用以下命令删除 Apache 及其所有依赖项:

sudo apt-get purge apache2 php5 libapache2-mod-php5 mysql-server libapache2-mod-auth-mysql php5-mysql phpmyadmin
Run Code Online (Sandbox Code Playgroud)

进而:

sudo rm -rf /etc/apache2; rm -rf /etc/php5; rm -rf /var/lib/mysql; rm etc/mysql 
Run Code Online (Sandbox Code Playgroud)

如果您对 phpMyAdmin 有任何问题,请尝试在终端中输入以下内容:

dpkg-reconfigure phpmyadmin
Run Code Online (Sandbox Code Playgroud)