logo

Types de blocs supplémentaires (EBT) – Nouvelle expérience de Layout Builder❗

Types de blocs supplémentaires (EBT) – types de blocs stylisés et personnalisables : diaporamas, onglets, cartes, accordéons et bien d’autres. Paramètres intégrés pour l’arrière-plan, la boîte DOM, les plugins JavaScript. Découvrez dès aujourd’hui le futur de la création de mises en page.

Démo des modules EBT Télécharger les modules EBT

❗Types de paragraphes supplémentaires (EPT) – Nouvelle expérience Paragraphes

Types de paragraphes supplémentaires (EPT) – ensemble de modules basé sur les paragraphes analogiques.

Démo des modules EPT Télécharger les modules EPT

Défilement
05/07/2025, by Ivan

Certains modules spécifiques peuvent avoir des exigences particulières concernant les extensions et configurations PHP, en plus de celles énumérées ci-dessous, veuillez donc consulter la documentation du module.

Versions de PHP supportées

Version PHP Supportée par Drupal Recommandée pour Drupal
5.5 Non (note 2 ci-dessous) Non
5.6 Non (note 2 ci-dessous) Non
7.0 Oui, 7.0.8 avec Drupal 8.7.0 (note 2 ci-dessous) Non
7.1 Oui Non
7.2 Oui, depuis Drupal 8.5.0 Oui
7.3 Oui, depuis Drupal 8.6.4 (note 1 ci-dessous) Oui
7.4 Oui, depuis Drupal 8.8.3 Oui
8.0 Non ; voir le ticket 3109885

1) Lisez la note de changement pour plus d’informations sur le support de PHP 7.3.
2) Lisez la note de changement concernant la fin du support de PHP 5.

Que signifie « version recommandée » pour PHP ?

Drupal fonctionnera sur toutes les versions supportées de PHP. Les versions recommandées sont les meilleures options pour construire un site Drupal car elles bénéficieront d’un support plus long. PHP 7 offre également d’importantes améliorations en termes de vitesse et de mise en cache.

PHP 5.5, 5.6 et 7.0 ont atteint leur fin de vie officielle fin 2018, et PHP 7.1 a atteint sa fin de vie le 1er décembre 2019. (Voir PHP : versions supportées pour plus d’informations.) Drupal 8 a abandonné le support de PHP 5.5 et 5.6 en mai 2019, et les versions récentes requièrent PHP 7.0.8 ou supérieur. Nous recommandons de mettre à jour au minimum vers PHP 7.2. (Ubuntu 18.04 est livré avec PHP 7.2, Debian stable avec PHP 7.3.)

Note : cela n’affecte pas Drupal 7, qui reste compatible avec PHP 5.2.4 et supérieur. Une annonce séparée sera publiée si cela change — voir Exigences PHP pour Drupal 7.

Extensions PHP requises

Les extensions utilisées par le noyau Drupal sont définies dans le fichier composer.json du noyau — par exemple, le fichier pour Drupal 8.7.x. Consultez la section « require » et les clés commençant par « ext- ».

Note : ajouter une extension PHP à votre système, au moins sous Linux (et Mac), signifie chercher et installer le paquet PHP correspondant via le gestionnaire de paquets. Généralement, le paquet d’une extension Foo s’appelle « php-foo » ou « php7-foo », mais ce n’est pas toujours le cas. Certaines extensions font partie du paquet PHP principal et sont donc activées par défaut.

Extensions de base de données

L’extension PHP Data Objects (PDO) doit être activée pour une installation et un fonctionnement corrects de Drupal 8. La version PDO pour PECL n’est pas compatible avec Drupal 8 et ne peut pas être utilisée. De plus, l’extension PHP correspondant à la base de données choisie doit être installée et activée.

Les connecteurs de bases de données actuellement supportés par Drupal sont : mysql (extension MySQL originale), mysqli (connecteur amélioré pour les installations MySQL plus récentes) et pgsql (pour PostgreSQL). Note : PHP 5.x n’inclut plus par défaut l’extension mysql. Veuillez consulter les liens ci-dessus pour installer et activer le connecteur choisi. Généralement, si vous installez PDO avec support MySQL, le bon connecteur est déjà sélectionné pour vous.

Extension XML

L’extension PHP XML est utilisée pour les API de blog, modules Drupal et Ping. Cette extension est activée par défaut dans une installation standard de PHP ; la version Windows de PHP l’intègre nativement. Activer l’extension XML active aussi PHP DOM, qui est maintenant une exigence système.

Bibliothèque de traitement d’images

Une bibliothèque d’images PHP, comme GD, est une extension obligatoire pour Drupal 8, nécessaire pour manipuler les images (redimensionnement des images utilisateur, modules d’images et cache d’images). ImageMagick est aussi supporté pour des manipulations basiques dans le noyau Drupal, mais avec beaucoup moins de support pour les modules additionnels.

OpenSSL

L’extension PHP OpenSSL est recommandée pour permettre à Drupal de faire des requêtes sortantes via HTTPS. Certaines plateformes proposent un paquet OpenSSL séparé, comme php7-OpenSSL.

Un travail est également en cours pour vérifier que le module Update Manager utilise HTTPS pour rechercher des mises à jour, ce qui rendrait cette recommandation encore plus stricte, voire obligatoire. Voir les tickets #1538118 et la discussion https://groups.drupal.org/node/506128.

JSON

Drupal 8 nécessite une version de PHP compilée avec JSON. Le support JSON est généralement compilé dans le noyau PHP, mais si vous obtenez des erreurs telles que :

PHP Fatal error: Call to undefined function Drupal\\Component\\Serialization\\json_encode() in ... core/lib/Drupal/Component/Serialization/Json.php

essayez d’ajouter l’extension JSON.

cURL

L’extension PHP cURL est requise pour le module SimpleTest dans Drupal 8, ainsi que pour Aggregator et certains modules additionnels. Elle est souvent activée par défaut sur de nombreuses distributions Linux et environnements de développement, mais si votre système ne l’active pas dans php.ini (souvent sous Windows) ou ne l’installe pas via un gestionnaire de paquets (souvent sous Linux), il faudra le faire manuellement.

Mbstring

L’extension PHP mbstring fournit des fonctions spécifiques pour gérer les chaînes multioctets, utilisées pour l’installation de Drupal en langues autres que l’anglais, ainsi que pour les sites multilingues. Elle facilite le traitement des encodages multioctets en PHP, notamment Unicode (UTF-8, UCS-2, etc.).

Configurations PHP

Exigences de mémoire

Les besoins en mémoire PHP peuvent varier grandement selon les modules utilisés sur votre site. La mémoire minimale requise est de 64 Mo.

Des messages d’alerte apparaîtront si votre configuration PHP ne répond pas à ces exigences. Toutefois, bien que ces valeurs puissent suffire pour une installation Drupal de base, un site de production avec plusieurs modules couramment utilisés nécessitera généralement plus de mémoire, souvent 128 Mo ou 256 Mo. Certaines installations, notamment celles avec beaucoup de médias, peuvent avoir besoin de beaucoup plus. Si vous utilisez un hébergement, assurez-vous que votre hébergeur peut fournir suffisamment de mémoire pour vos modules actuels et futurs. (Voir la page Augmenter la limite mémoire PHP dans la FAQ dépannage pour plus d’informations.)

Configurations dans .htaccess

Certaines configurations mémoire sont définies dans le fichier .htaccess par défaut fourni avec Drupal, vous n’avez donc pas besoin de les configurer explicitement. Cependant, notez que la configuration PHP via .htaccess fonctionne uniquement si :

  • Vous utilisez Apache (ou un serveur compatible)
  • Le fichier .htaccess est effectivement lu, c’est-à-dire que AllowOverride All est activé dans la configuration principale d’Apache (habituellement httpd.conf)
  • PHP est installé comme module Apache

Dans certains environnements mutualisés, ces réglages sont limités. Si vous ne pouvez pas faire ces modifications vous-même, demandez à votre hébergeur de les configurer.

Autres interfaces PHP

Voir le manuel PHP pour savoir comment modifier les configurations pour d’autres interfaces PHP.

Xdebug

Si vous utilisez Xdebug :

Configuration : xdebug.show_exception_trace = 0
Raison : cela peut provoquer l’échec de l’installateur Drupal.

Utilisation de Xdebug avec Drupal 8 :

Configuration : xdebug.collect_params = ?
Raison : une valeur trop élevée de xdebug.collect_params empêchera l’installation et le fonctionnement de Drupal 8.

Configuration : xdebug.max_nesting_level = 256
Raison : la valeur par défaut de max_nesting_level, qui est 100 (dans les versions d’Xdebug 2.3), provoque des erreurs sur certaines pages.

PHP provenant de différentes sources

Drupal est conçu pour fonctionner avec PHP distribué via PHP.net. Des efforts sont faits pour qu’il fonctionne avec des versions PHP issues d’autres sources, mais cela reste au mieux un effort d’adaptation. En particulier, il est connu que Suhosin casse certaines fonctionnalités ; et certains systèmes d’exploitation déplacent des composants principaux dans d’autres paquets.

Détails des exigences PHP

Voir la page phpinfo() sur Drupal.org pour apprendre à utiliser Phpinfo et obtenir des informations détaillées sur votre système. Phpinfo vous dira par exemple si vous avez déjà une base de données installée et quelles versions de PHP, MySQL, etc., fonctionnent sur votre système. Il vous indiquera aussi quelles variables PHP sont configurées, et bien plus encore.

Il est souvent possible de mettre à jour vers une version plus récente de PHP fournie avec votre distribution Linux. Veuillez consulter la documentation de votre distribution Linux.

Quelques points importants

Gardez en tête les limitations de PHP 32-bit.
Les dépendances Drupal basées sur Composer sont empaquetées avec PHP 5.5.9. Si vous utilisez une version plus récente de PHP, vous pouvez exécuter la commande de mise à jour Composer pour obtenir des versions plus adaptées des dépendances.
Le gestionnaire de mises à jour Drupal 8 peut installer/mettre à jour les modules et thèmes via SSH, si les bibliothèques nécessaires sont présentes sur le serveur (sur Debian, le paquet est « libssh2-php »).
Si le cache opcode APC est utilisé avec Drupal 8, il nécessite APC 3.1.13 ou supérieur.
Si l’opcache intégré est activé, la configuration opcache.save_comments doit être activée (valeur 1 par défaut), sinon les annotations ne seront pas conservées ou chargées.