# Debian SID: empecher la désinstallation de PHP 7.4 au profit de PHP 8.1 \[RESOLU\]

**URL:** <https://www.debian-fr.org/t/debian-sid-empecher-la-desinstallation-de-php-7-4-au-profit-de-php-8-1-resolu/86128>\
**Category:** Support Debian\
**Created:** [Février 11, 2022, 7:30 UTC](https://www.debian-fr.org/t/debian-sid-empecher-la-desinstallation-de-php-7-4-au-profit-de-php-8-1-resolu/86128 "2022-02-11T07:30:38Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![fanch24](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/8491ac/32.png) [@fanch24](https://www.debian-fr.org/u/fanch24)\
**Post date:** [Février 11, 2022, 7:30 UTC](https://www.debian-fr.org/t/debian-sid-empecher-la-desinstallation-de-php-7-4-au-profit-de-php-8-1-resolu/86128/1 "2022-02-11T07:30:38Z")

</div>

Bonjour à tous,

J’ai un petit renseignement à vous demander SVP.  
Voila, sur ma machine de travail, sous Debian SID, j’ai un serveur LAMP en local qui me permet de travailler hors connexion sur mon blog wordpress. Hors, actuellement, Wordpress (version 5.9) n’est pas tout-à-fait compatible avec la version de base actuelle sous SID de PHP à savoir la version PHP 8.1. De ce fait je suis donc obligé de garder la version 7.4 laquelle a bien été installé de manièr e  
nominative via la commande

`sudo apt install php7.4`

et non pas

`sudo apt install php`

Problème: il semblerait que php7.4 ne soit plus ni dans les dépots de SID ni dans les dépots de STABLE (indiqué également dans mon sources.list), ayant été remplacé par php8.1. De ce fait, à la demande de mise-à-niveau de ma distribution via

`sudo apt dist-upgrade`

voila ce que me propose apt:

```
    sudo apt dist-upgrade
    [sudo] Mot de passe de francois : 
    Lecture des listes de paquets... Fait
    Construction de l'arbre des dépendances... Fait
    Lecture des informations d'état... Fait      
    Calcul de la mise à jour... Fait
    Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
      libabsl20200923 libffi7 liblrdf0 libperl5.32 perl-modules-5.32 php-common
    Veuillez utiliser « sudo apt autoremove » pour les supprimer.
    Les paquets suivants seront ENLEVÉS :
      libapache2-mod-php7.4 libwacom2 php7.4 php7.4-bcmath php7.4-bz2 php7.4-cli php7.4-common php7.4-gd php7.4-json php7.4-mbstring php7.4-mysql php7.4-opcache php7.4-readline php7.4-xml php7.4-xsl php7.4-zip
    Les NOUVEAUX paquets suivants seront installés :
      libwacom9
    Les paquets suivants ont été conservés :
      libc++1
    Les paquets suivants seront mis à jour :
      gir1.2-mutter-9 gnome-control-center gnome-settings-daemon libinput-bin libinput10 libmutter-9-0 libwacom-bin libwacom-common php-common
    9 mis à jour, 1 nouvellement installés, 16 à enlever et 1 non mis à jour.
    Il est nécessaire de prendre 3 872 ko/3 889 ko dans les archives.
    Après cette opération, 20,3 Mo d'espace disque seront libérés.
    Souhaitez-vous continuer ? [O/n] n
    Annulation.

```

Pouvez-vous m’indiquer la méthode à adopter pour pouvoir faire ma mise à niveau sans provoquer la désinstallation de php7.4 SVP?.. Mercid’avance

---

<div class="post-metadata">

**Author:** ![anon70622873](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/278dde/32.png) [@anon70622873](https://www.debian-fr.org/u/anon70622873)\
**Post date:** [Février 11, 2022, 7:57 UTC](https://www.debian-fr.org/t/debian-sid-empecher-la-desinstallation-de-php-7-4-au-profit-de-php-8-1-resolu/86128/2 "2022-02-11T07:57:51Z")

</div>

Bonjour,

La version de PHP dans Bullseye (stable) est bien la 7.4, c’est la 8.1 dans Bookworm (testing) et dans sid.

Si tu as les dépôts stable il faut utiliser l’épinglage de paquets ( [APT pinning](https://wiki.debian.org/AptConfiguration)) pour indiquer que tous les paquets PHP provenant des dépôts stable sont prioritaires.

---

<div class="post-metadata">

**Author:** ![fanch24](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/8491ac/32.png) [@fanch24](https://www.debian-fr.org/u/fanch24)\
**Post date:** [Février 11, 2022, 8:13 UTC](https://www.debian-fr.org/t/debian-sid-empecher-la-desinstallation-de-php-7-4-au-profit-de-php-8-1-resolu/86128/3 "2022-02-11T08:13:36Z")

</div>

Merci Bruno1.  
Je t’avoue que je ne suis pas un balèse pour l’épinglage. Il y a une méthode pour épingler TOUT php et ses dépendances ou dois-je épingler ces dernières également?

---

<div class="post-metadata">

**Author:** ![anon70622873](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/278dde/32.png) [@anon70622873](https://www.debian-fr.org/u/anon70622873)\
**Post date:** [Février 11, 2022, 9:00 UTC](https://www.debian-fr.org/t/debian-sid-empecher-la-desinstallation-de-php-7-4-au-profit-de-php-8-1-resolu/86128/4 "2022-02-11T09:00:30Z")

</div>

Je ne suis pas spécialiste non plus et je n’ai que très rarement utilisé cette technique. Je t’invite à lire la doc et le man _apt\_preferences_. Je tenterais quelque chose comme :

```auto
           Package: /php/
           Pin: release a=stable
           Pin-Priority: 1001

```

À mettre dans /etc/apt/preferences.d/php\_stable par exemple  
Cela devrait affecter une priorité 1001 (installé même si c’est un retour à une version inférieure) à tous les paquets issus de stable dont le nom contient ‹&nbsp;php&nbsp;›

On pourrait aussi faire l’inverse en affectant une priorité négative aux paquet php de _experimental_.

Une autre possibilité est de bloquer la version d’un paquet installé avec _hold_. Par exemple tu peux déjà faire :

```auto
sudo apt-mark hold php7.4

```

Et voir ce que propose un `apt full-upgrade`, quitte à bloquer de nouveaux paquets et à recommencer.

Personnellement, j’éviterais ce genre de manipulation (y compris le mélange des sources entre stable, unstable et experimental) et j’utiliserais un conteneur docker pour faire tourner mon WordPress.

---

<div class="post-metadata">

**Author:** ![fanch24](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/8491ac/32.png) [@fanch24](https://www.debian-fr.org/u/fanch24)\
**Post date:** [Février 11, 2022, 9:10 UTC](https://www.debian-fr.org/t/debian-sid-empecher-la-desinstallation-de-php-7-4-au-profit-de-php-8-1-resolu/86128/5 "2022-02-11T09:10:50Z")

</div>

OK!.. Je me réponds à moi-même. Il semblerait qu’un simple

```
Package: php*
Pin: release o=Debian,a=stable
Pin-Priority: 1100

```

soit suffisant dans mon _/etc/apt/preferences_ pour empêcher la désinstallation de php7.4 et ses dépendances au profit d’une version plus récente.

Ceci dit il est temps que Wordpress se mettent lui-même à niveau étant donné que sa documentation indique la compatibilité avec php8!..  
NOTA: la compatibilité existe peut-être mais manifestement elle n’est que partielle: l’installation du CMS est en effet impossible. Elle se solde par une erreur fatale

---

<div class="post-metadata">

**Author:** ![fanch24](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/8491ac/32.png) [@fanch24](https://www.debian-fr.org/u/fanch24)\
**Post date:** [Février 11, 2022, 9:29 UTC](https://www.debian-fr.org/t/debian-sid-empecher-la-desinstallation-de-php-7-4-au-profit-de-php-8-1-resolu/86128/6 "2022-02-11T09:29:56Z")

</div>

En fait j’avais indiqué les sources stables précisément en prévision de ce genre de problèmes. En effet, je tiens à ce que ma machine de travail avec son serveur local soit sous SID alors que mon serveur en ligne, quant à lui, est sous STABLE.  
De ce fait je savais que cela allait arriver un jour ou l’autre mais je n’avais pas anticipé en étudiant la documentation concernant le pinning avant par manque de temps. Maintenant c’est en cours.  
Merci à toi Bruno1.
