80 votes

Comment supprimer complètement PHP ?

Je dois nettoyer mon serveur des paquets PHP 5.3 (il y en a beaucoup) afin de pouvoir compiler PHP 5.2. Quelle est la méthode la plus simple et la plus sûre pour se débarrasser de tous ces paquets ?

2voto

En plus de toutes les purges mentionnées dans les autres réponses, si vous voulez être complètement sûr que tout est supprimé, vous voudrez probablement exécuter

cd /
sudo find -name "php"

Ce qui vous montrera les fichiers/dossiers avec le nom php dedans. Vous allez alors vouloir vérifier chacun de ces chemins de fichiers, c'est-à-dire :

cd /usr/local/include/php
ls

Et les supprimer comme il se doit. Veillez toutefois à ne pas supprimer les éléments essentiels à un autre processus que vous devez continuer à exécuter, à moins que vous ne souhaitiez devoir les réinstaller également.

Pour supprimer un répertoire, ou un fichier, on utilise la fonction rm commentaire avec le -rf donc, dans l'exemple ci-dessus, nous devrions taper :

sudo rm -rf /usr/local/include/php

1voto

AmirHossein Points 219

La regex que les deux personnes ont dit est incorrecte.
Au lieu d'utiliser php.* o php* Il faut utiliser ^php*

C'est la bonne réponse.
Donc vous utiliseriez : sudo apt-get purge "^php*"

Bien que je ne recommande pas l'utilisation de cette méthode car elle est hautement automatisée et je vous encourage à l'utiliser. sudo apt list --installed | grep php pour obtenir la liste des paquets et utiliser ces noms de paquets que vous avez obtenus de la commande ci-dessus dans cette commande :

sudo apt-get purge PACKAGENAME_ONE PACKAGENAME_TWO

0voto

Victor S. Points 103
apt list --installed 2>/dev/null | awk -F '/' '{print $1}' | grep '^php' | xargs -r sudo apt purge;
sudo rm -rfv /etc/php/5.3;

Explication

apt list --installed 2>/dev/null - liste des paquets installés avec la version et d'autres informations ;

apt list --installed 2>/dev/null | awk -F '/' '{print $1}' - liste des noms des paquets installés uniquement ;

apt list --installed 2>/dev/null | awk -F '/' '{print $1}' | grep '^php' - liste des noms des paquets installés ne commençant que par php ;

apt list --installed | awk -F '/' '{print $1}' | grep '^php' | xargs -r sudo apt purge - passe une liste de noms de paquets installés ne commençant que par php comme arguments pour sudo apt purge commandement ;

sudo rm -rfv /etc/php/5.3 - supprimer tous les fichiers de configuration pour php5.3 ;

Si nécessaire

sudo rm -rfv /etc/php/5* - supprimer tous les fichiers de configuration de tous les php5 versions ( php5.3 , php5.4 , php5.5 etc.) ;

sudo rm -rfv /etc/php - supprimer tous les fichiers de configuration de tous les php versions ( php5 , php7 etc.) ;

0voto

J'utilise sudo apt remove php8.0* Il supprime php et tous les paquets associés - pour la version donnée - et rétrograde le système vers toute autre version de php existante et installée (plus ancienne).

0voto

D'abord, j'exécute sudo apt list --installed | grep php pour afficher toutes les versions de PHP installées, puis j'ai supprimé la version spécifique de PHP mentionnée (8.1) avec toutes les dépendances associées (extensions) en exécutant sudo apt-get purge 'php8.1*'

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X