Comment supprimer php 5.6

12

Je viens d'aller de l'avant et j'ai ajouté PHP7 à mon serveur en suivant un guide en utilisant le PPA de ondej. Maintenant, je veux supprimer l'ancien php, donc évidemment je l'ai fait sudo apt-get remove --purge php5et ti semblait que tout s'est bien passé, sauf qu'il n'est pas désinstallé. Si je le fais, php -vj'obtiens la version 7 mais je peux toujours le faire php5 -vet obtenir la version 5.6 ou php5.6 -vet obtenir la même chose. Quand je le fais sudo apt-get remove php5(ou php5.6) maintenant, j'obtiens que le paquet n'est pas installé, mais apparemment parce que je peux exécuter la commande.

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:~$

Comment puis-je supprimer complètement php5?

Et juste parce que je sais que quelqu'un demanderait - je veux le supprimer parce que je vois qu'il y a des processus en cours d'exécution à cause de cela que je ne veux pas avoir.

 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
la source

Réponses:

38

Le package nommé php5ou php5.6est juste un méta-package qui extrait l'un des SAPI Web disponibles (apache2, fpm ou cgi). La façon la plus simple de supprimer la pile complète de packages est de supprimer php5-commonet / ou de php5.6-commonpackage car tout le reste en dépend, par exemple:

apt-get purge php5-common

L'autre option serait d'utiliser le support des caractères génériques dans apt-getet de faire:

apt-get purge 'php5*' 
oerdnj
la source
9
apt-get purge 'php5 *' supprime également les paquets php7
Semra
@Semra pouvez-vous dire pourquoi il le fait, ou quelle solution de contournement pour purger uniquement php5?
T.Todua
0

Vous pouvez supprimer complètement tous les packages PHP avec cette commande:

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

Essayez d'exécuter apt-get autoremove. Je pense que ce que vous voyez est le gestionnaire de processus FastCGI qui pourrait avoir été installé avec le noyau PHP5, mais pas supprimé dans le cadre de la désinstallation. A défaut, apt-get supprime php5.6-fpm --purge --autoremove. Vous utilisez déjà la v7 de fpm, vous ne devriez donc pas voir d'effets négatifs.

Adrian Fox-Kirk
la source