Installer facilement des extensions PHP (PECL) dans vos conteneurs Docker

Installer facilement des extensions PHP (PECL) dans vos conteneurs Docker

Si vous avez déjà joué avec des conteneurs Docker et du PHP, vous avez certainement été confrontés à un problème quand est venu le besoin de mettre en place une extension qui n’est pas directement supporté par PHP mais disponible via PECL, voyons comment faire

Un outil à la rescousse

Vous devez sans doute connaitre docker-php-ext-install qui vous permet d’installer des extensions PHP officielles proposées directement par PHP. Pour installer des extensions PECL, il vous faudra l’excellent outil install-php-extensions

Cet outil se trouve sur Github dans le repository mlocati/docker-php-extension-installer

Comment s’en servir ?

Et bien c’est tout simple, dans votre Dockerfile, c’est de cette façon :

FROM php:8.4-cli

ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/

RUN install-php-extensions oauth

Le ADD viendra ajouter le binaire à votre compilation, rendant ainsi disponible l’outil qui se chargera de compiler et d’installer l’extension oauth dans notre cas

L’outil fonctionne avec les images basées sur Debian et Alpine, à vous la possibilité d’installer les extensions pour les versions de 7.1 à 8.4 de PHP, de quoi couvrir un grand nombre de besoins et cas d’utilisation.

FrankenPHP : mise en place de la CI/CD avec Gitlab
FrankenPHP : un peu de modernité dans le PHP n’a jamais fait de mal
Docker, Python et FastAPI sont dans un bateau
Effacer le cache Symfony directement dans son application