Как удалить php 5.6

12

Я просто пошел дальше и добавил PHP7 к своему серверу, следуя инструкциям, используя PPA ondej. Теперь я хочу удалить старый 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
php_nub_qq
источник

Ответы:

38

Пакет с именем php5or php5.6- это просто метапакет, который извлекает один из доступных веб-интерфейсов SAPI (apache2, fpm или cgi). Самый простой способ удаления полного стека пакетов - это удалить php5-commonи / или php5.6-commonупаковать пакет, поскольку все остальное зависит от него, например:

apt-get purge php5-common

Другой вариант - использовать поддержку подстановочных знаков в apt-get:

apt-get purge 'php5*' 
oerdnj
источник
9
apt-get purge 'php5 *' также удаляет пакеты php7
Семра
@Semra, можете ли вы сказать, почему это так, или какой обходной путь нужно только очистить php5?
Т.Тодуа
0

Вы можете полностью удалить все пакеты PHP с помощью этой команды:

sudo apt-get purge `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
JoenMarz
источник
-1

Попробуйте запустить apt-get autoremove. Я думаю, что вы видите FastCGI Process Manager, который мог быть установлен с ядром PHP5, но не удален как часть удаления. Если apt-get не удаляет php5.6-fpm --purge --autoremove. Вы уже используете v7 fpm, поэтому не должны видеть никаких побочных эффектов.

Адриан Фокс-Кирк
источник