« Votre installation PHP ne prend pas en charge les fonctions Intl »
L'installation de Dolibarr signale que PHP ne prend pas en charge Intl. Ce n'est qu'un avertissement : ce qui en dépend vraiment, et comment activer l'extension selon votre serveur.
Sur la page de vérification des prérequis de l’assistant d’installation, une ligne est en orange :
Votre installation PHP ne prend pas en charge les fonctions Intl.
En anglais : Your PHP installation does not support functions Intl (dans les versions 19 et 22 : does not support Intl functions).
Ce n’est qu’un avertissement
L’assistant continue : sur l’instance de test, sans l’extension, les boutons de la page sont restés disponibles. Dans le code, ce contrôle est d’ailleurs explicitement non bloquant, comme ceux de GD, Curl ou ZIP.
Dolibarr fonctionne donc sans intl. Deux fonctions du cœur s’en servent, et passent en mode
dégradé quand elle manque :
- deviner une langue à partir d’un pays, quand le couple n’est pas évident. Elle sert entre autres au choix de langue par défaut et aux pages publiques de paiement ;
- vérifier qu’un domaine d’adresse email a un serveur de messagerie (enregistrement MX). Cette
vérification passe par
idn_to_ascii, une fonction d’intl: sans l’extension, elle ne se fait pas.
Rien de grave, mais rien ne justifie de s’en passer : l’extension s’installe en une commande.
L’activer sur Debian ou Ubuntu
sudo apt install php-intl
sudo systemctl restart apache2
Le paquet php-intl installe la version qui correspond au PHP par défaut du système :
php8.2-intl sur Debian 12, php8.3-intl sur Ubuntu 24.04. Si votre serveur utilise une autre
version de PHP, installez le paquet de cette version (php8.1-intl, par exemple).
Si PHP tourne en PHP-FPM plutôt que dans Apache, c’est ce service qu’il faut redémarrer, par
exemple sudo systemctl restart php8.2-fpm.
Sous Windows (XAMPP, WAMP, installation manuelle)
Ouvrez le php.ini utilisé par votre serveur web. Dans le modèle fourni avec PHP 8, la ligne
existe déjà, commentée :
;extension=intl
Retirez le point-virgule, enregistrez, puis redémarrez Apache.
Sous Docker
L’image officielle dolibarr/dolibarr contient déjà l’extension : vérifié sur la 24.0.1. Si vous
voyez ce message dans un conteneur, c’est que l’image n’est pas l’image officielle.
Sur un hébergement mutualisé
Vous n’avez pas la main sur PHP. La plupart des hébergeurs proposent dans leur espace client une
page de réglage de la version de PHP et de ses extensions. Si intl n’y figure pas, demandez-la à
leur support.
Vérifier que c’est réglé
Rechargez la page de vérification de l’assistant : « Intl » apparaît alors dans la ligne « Ce PHP prend en charge les fonctions… ». Si Dolibarr est déjà installé, la même information se trouve dans AccueilOutils d’administrationInfos PHP.
Attention à php -m en ligne de commande : le PHP du terminal n’est pas forcément celui du serveur
web, ni configuré avec le même php.ini.