Différentes versions de PHP pour Debian

Twitter Facebook Google Plus Linkedin email

Un des gros, gros avantages que j’ai découvert en utilisant CentOS chez LinkByNet, c’est le système très avantageux de Software Collections, notamment utilisé par Rémi Collet pour nous gratifier de dépôts extrêmement complets des différentes versions de PHP en circulation (voyez ça comme des PPA sous Ubuntu). Et je pestais à l’époque de ne pas avoir un système similaire sous Debian, jusqu’à récemment.

En effet, toutes les recherches que je faisais aboutissaient presque invariablement à une compilation manuelle à la fois compliquée à maintenir et très consommatrice en temps. Et je déteste les compilations manuelles. J’avais malgré tout fini par tenter d’utiliser phpbrew pour un client à la plateforme vieillissante et trop rigide pour permettre une mise à jour sereine.

Avec la sortie prochaine de CentOS 8, je vais pouvoir tester le remplaçant des SCL, à savoir les Streams, qui promettent un fonctionnement similaire, limite plus intégré, mais je n’ai pas encore creusé le sujet au-delà des annonces presse. Et je me suis une fois de plus tourné vers Debian pour savoir si la situation a évolué.

Il s’avère que cette fois, je suis tombé sur des résultats qui me plaisent beaucoup plus, à savoir qu’un développeur Debian du nom d’Ondřej Surý, qui s’occupe justement des paquets PHP qui sont inclus dans Debian, maintient un dépôt perso pour Debian et Ubuntu contenant les versions récentes de PHP, et qu’il est possible de les installer en parallèle. Oui, l’équivalent donc des dépôts de Rémi pour l’univers Redhat 🙂

Et on est sur le même niveau de sérieux finalement, bien que Rémi soit directement contributeur PHP, ce que ne semble pas être Ondřej, mais je ne comptes pas lui en tenir rigueur étant donné la générosité. Générosité récompensée par certains qui le soutiennent sur Patreon, à hauteur en moyenne de 5 dollars par personne par mois, pas dégueulasse pour un sacré boulot.

Les détails pour l’installation sont disponibles sur ce site (attention, design ultra-minimaliste). À savoir que Jessie, Strech, et la prochaine Buster (qui doit arriver bientôt si ce n’est pas déjà fait à la sortie de ce billet) sont supportées, pour les architectures x86 (32 et 64bit), et ARM (32 et 64bit également), les paquets sources sont évidemment proposés. Et grâce à ce dépôt, on peut installer de PHP 5.6 à 7.3 (même si cette dernière est déjà incluse dans Buster), tout en parallèle, ce qui est bien plus pratique pour gérer des projets historiques au code pas forcément adapté aux versions plus récentes (et je peux vous dire en tant qu’infogéreur que ça arrive très, très souvent, trop souvent pourrait-on dire).

Le seul manque finalement par rapport aux SCL est l’absence de « switch » au runtime. Je m’explique, quand vous avez plusieurs versions de PHP en parallèle, soit vous avez à disposition des alias comme le propose Rémi (php72, php73, etc) pour exécuter PHP en ligne de commande, soit vous allez à chaque fois chercher le chemin du binaire à lancer. Lourd, pas pratique, et des outils comme composer et frameworks comme symfony sont des champions de la feignantise en ne cherchant qu’une unique commande « php », qui parfois n’existe même pas par elles-mêmes si l’on a que des sources SCL pour PHP. Il existe donc une commande pour « créer » cet alias php à la volée :

De cette manière, tous les outils de développeurs feignants savent fonctionner dans la version attendue (pratique aussi quand on enchaîne les commandes PHP dans un fichier Makefile).

Donc là sous Debian il faudra encore « bidouiller » un peu pour arriver au même résultat, mais déjà s’affranchir de la compilation manuelle et la possibilité d’avoir plusieurs versions en parallèle facilement est un gros plus. Encore merci Ondřej 🙂

1
Poster un Commentaire

avatar
1 Fils de commentaires
0 Réponses de fil
1 Abonnés
 
Commentaire avec le plus de réactions
Le plus populaire des commentaires
1 Auteurs du commentaire
Matth Auteurs de commentaires récents
  S’abonner  
plus récent plus ancien
Notifier de
Matth
Invité
Matth

Je confirme Buster est sortie entre temps, je suis occupé à préparer mon template de VM debian10 sous Proxmox 🙂

Sinon en effet le boulot de cette personne est fantastique, je m’en suis déjà servi de nombreuses fois même si je ne l’ai découvert qu’il y a quelques mois !