如何删除 php 5.6

如何删除 php 5.6

我刚刚按照 ondej 的 PPA 指南将 PHP7 添加到我的服务器。现在我想删除旧的 php,显然我这样做了sudo apt-get remove --purge php5,而且似乎一切都很顺利,只是它没有被卸载。如果我这样做,php -v我会得到版本 7,但我仍然可以php5 -v得到 5.6 或php5.6 -v得到同样的东西。当我sudo apt-get remove php5现在这样做(或 php5.6)时,我发现包没有安装,但显然是因为我能够执行命令。

x@x-server:~$ php -v
PHP 7.0.6-1+donate.sury.org~trusty+1 (cli) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
x@x-server:~$ php5 -v
PHP 5.6.21-1+donate.sury.org~trusty+1 (cli)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
x@x-server:~$ php5.6 -v
PHP 5.6.21-1+donate.sury.org~trusty+2 (cli)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
x@x-server:~$ sudo apt-get remove --purge php5 php5.6
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package 'php5.6' is not installed, so not removed
Package 'php5' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
x@x-server:~$

我怎样才能彻底删除 php5?

而且只是因为我知道有人会问 - 我想删除它,因为我看到有一些我不想要的进程因此而运行。

 1192 root      20   0  358756  30920  23568 S   0.0  2.1   0:00.12 apache2
 1238 root      20   0  309316  29708  23448 S   0.0  2.0   0:00.11 php-fpm7.0
 1176 root      20   0  166212  17848  14408 S   0.0  1.2   0:00.07 php-fpm5.6
 1226 www-data  20   0  359312  15488   7656 S   0.0  1.1   0:00.09 apache2
 1227 www-data  20   0  359008  14028   6380 S   0.0  1.0   0:00.00 apache2
 1228 www-data  20   0  359008  13496   5856 S   0.0  0.9   0:00.00 apache2
 1229 www-data  20   0  358788   9324   1964 S   0.0  0.6   0:00.00 apache2
 1230 www-data  20   0  358788   9324   1964 S   0.0  0.6   0:00.00 apache2
 1377 www-data  20   0  358788   9324   1964 S   0.0  0.6   0:00.00 apache2
 1242 www-data  20   0  309316   8496   2236 S   0.0  0.6   0:00.00 php-fpm7.0
 1243 www-data  20   0  309316   8496   2236 S   0.0  0.6   0:00.00 php-fpm7.0
 1299 root      20   0  105680   6540   5468 S   0.0  0.4   0:00.06 sshd
 1178 www-data  20   0  166212   5580   2140 S   0.0  0.4   0:00.00 php-fpm5.6
 1179 www-data  20   0  166212   5580   2140 S   0.0  0.4   0:00.00 php-fpm5.6

答案1

名为php5或的软件包php5.6只是一个元软件包,它提取可用的 Web SAPI(apache2、fpm 或 cgi)之一。删除完整软件包的最简单方法是删除php5-common和/或php5.6-common软件包,因为其他所有软件包都依赖于它,例如:

apt-get purge php5-common

另一种选择是使用通配符支持apt-get并执行以下操作:

apt-get purge 'php5*' 

答案2

尝试运行 apt-get autoremove。我认为您看到的是 FastCGI 进程管理器,它可能已随核心 PHP5 一起安装,但未作为卸载的一部分删除。如果失败,请运行 apt-get remove php5.6-fpm --purge --autoremove。您已经在运行 v7 版 fpm,因此不会看到任何不利影响。

答案3

您可以使用以下命令完全删除所有 PHP 包:

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

相关内容