如何删除PHP 5.6


12

我只是按照ondej的PPA按照指南将PHP7添加到服务器中。现在,我想删除旧的php,所以很明显,我这样做了sudo apt-get remove --purge php5,ti似乎一切正常,除非未卸载。如果可以,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

Answers:


38

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

apt-get purge php5-common

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

apt-get purge 'php5*' 

9
apt-get purge'php5 *'也会删除php7软件包
Semra

@Semra您能说出为什么这样做,还是只能清除什么解决方法php5
T.Todua

0

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

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

-1

尝试运行apt-get autoremove。我认为您所看到的是FastCGI Process Manager,它可能已与核心PHP5一起安装,但未作为卸载的一部分删除。无法通过apt-get删除php5.6-fpm --purge --autoremove。您已经在运行fpm v7,因此不应看到任何不利影响。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.