Як видалити 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

Відповіді:


38

Пакет з назвою php5або php5.6просто мета-пакет, який тягне один із доступних веб-SAPI (apache2, fpm або cgi). Найпростіший спосіб видалити повний пакет пакетів - це видалити php5-commonта / або php5.6-commonпакувати, оскільки все інше залежить від цього, наприклад:

apt-get purge php5-common

Іншим варіантом буде використання підтримки wildcard у apt-getта робити:

apt-get purge 'php5*' 

9
apt-get purge 'php5 *' також видаляє пакети php7
Semra

@Semra Ви можете сказати, чому це робиться, або що вирішується лише для очищення php5?
Т.Тодуа

0

Ви можете повністю видалити всі пакети PHP за допомогою цієї команди:

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

-1

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.