Comment résoudre l'erreur « La version PHP ne satisfait pas cette exigence » dans Composer pour les projets Drupal
Pour ceux qui construisent des sites web Drupal, Composer est essentiel. Il permet de gérer et d'ajouter de nouveaux éléments au site web, tels que des modules et des thèmes. Mais si vous vous êtes déjà senti perdu quant au fonctionnement de Composer, imaginez-le comme un assistant de courses efficace. Vous n'êtes pas sûr de l'analogie ? Consultez cet article : “Comprendre Composer : une analogie simple des courses pour une meilleure gestion des dépendances”.
Cependant, parfois, lorsque nous déplaçons notre travail de notre environnement local vers le serveur, nous pouvons rencontrer l'erreur « La version PHP ne satisfait pas cette exigence » :
Installation des dépendances à partir du fichier lock (y compris require-dev)
Vérification que le contenu du fichier lock peut être installé sur la plateforme actuelle.
Votre fichier lock ne contient pas d'ensemble de paquets compatible. Veuillez exécuter composer update.

Cette erreur signifie que la version PHP de votre configuration locale est différente de celle du serveur, ce qui provoque des problèmes avec votre site web Drupal.
Pourquoi l'erreur « La version PHP ne satisfait pas cette exigence » dans Composer pour Drupal se produit-elle ?
Lorsque vous travaillez sur un projet Drupal, si vous exécutez composer update
localement, Composer configure le fichier composer.lock
en fonction de la version PHP que vous utilisez. Lorsque ce fichier lock est utilisé dans un environnement avec une version PHP différente, des problèmes surviennent.
Solutions pour les développeurs Drupal :
- Synchroniser les versions PHP : Essayez d'utiliser la même version PHP dans tous les environnements, qu'il s'agisse de l'environnement local, de préproduction ou de production. Cet alignement empêche les divergences et garantit que les modules et les thèmes Drupal fonctionnent de manière cohérente. Localement, lorsque vous utilisez
ddev
, l'ajustement de la version PHP est simple. Vous pouvez passer à la version PHP 8.1 avec la commande :
ddev config --php-version 8.1
- Utiliser la configuration de plateforme de Composer : Si vous ne pouvez pas avoir la même version PHP dans tous les environnements, vous pouvez configurer Composer pour imiter une version PHP particulière. Dans le fichier
composer.json
de votre projet Drupal, incluez :
"config": {
"platform": {
"php": "8.1.0"
}
}
- Désormais, Composer résoudra les dépendances comme s'il exécutait PHP 8.1, même si votre version locale est différente.
- Pousser les modifications et mettre à jour Drupal : Validez et poussez les fichiers
composer.json
etcomposer.lock
modifiés. Lorsque vous les récupérez sur le serveur, exécutezcomposer install
pour vous assurer que Drupal obtient le bon ensemble de dépendances. - Vérifier régulièrement la compatibilité PHP des modules Drupal : Bien que les mises à jour du cœur de Drupal soient généralement bien testées, les modules contribués peuvent parfois présenter des problèmes de compatibilité. Vérifiez régulièrement les exigences Composer du module et testez les mises à jour localement avant de les déployer.
- Intégration continue pour Drupal : Des outils tels que Acquia Pipelines ou des solutions d'intégration continue axées sur Drupal peuvent aider à appliquer la cohérence de la version PHP, garantissant que votre projet Drupal reste exempt d'erreurs lors des déploiements.
Conclusion :
Travailler avec Drupal et Composer signifie faire attention à l'appariement des versions PHP. En planifiant à l'avance, les mises à jour de votre site web peuvent se dérouler plus facilement, avec moins de problèmes. Il est préférable de conserver la même version PHP partout pour faciliter le développement.
Bon débogage !