Les extensions PHP ajoutent des fonctionnalités supplémentaires à PHP. Des applications telles que WordPress, WooCommerce ou d'autres systèmes PHP peuvent nécessiter certaines extensions pour que des fonctions individuelles fonctionnent correctement.
Les extensions PHP typiques sont par exemple curl, int., mbstring, mysqli, fermeture Éclair ou bon.
Dans CURIAWEB-cPanel, vous trouverez différents outils liés à PHP. Il est important de faire la distinction entre la version recommandée par CURIAWEB Environnement PHP MultiPHP/EasyApache et de se distinguer du sélecteur PHP CloudLinux également disponible.
Recommandation CURIAWEB : Pour la version PHP d'un site web, tu utilises par principe le MultiPHP-Manager. Ne changez pas de gestionnaire PHP simplement parce qu'une application exige une extension PHP spécifique.
Qu'est-ce qu'une extension PHP ? #
PHP propose déjà de nombreuses fonctions de base. Des extensions supplémentaires dotent le langage de capacités accrues.
Une application peut par exemple avoir besoin de fonctionnalités pour :
- Connexions de bases de données
- Traitement d'images
- Archive ZIP
- connexions chiffrées
- traitement international des caractères et des langues
- Traitement XML
- Connexions HTTP ou API
Diverses extensions PHP sont utilisées à cet effet.
Extensions PHP typiques #
| Extension | Tâche typique |
|---|---|
curl | Communication avec d'autres serveurs et services web |
bon | Traitement d'images |
int. | Internationalisation, langue, formats de nombres et de dates |
mbstring | Traitement des encodages de caractères multi-octets |
mysqli | Connexion aux bases de données MySQL/MariaDB |
openssl | Fonctions cryptographiques et communication chiffrée |
fermeture Éclair | Traitement des archives ZIP |
XML | Traitement des données XML |
Cette table n'est pas une liste complète. Les extensions disponibles et activées dépendent de la version de PHP et de la configuration du serveur.
Une extension PHP et une version PHP sont deux choses différentes #
Une version de PHP et une extension PHP ne doivent pas être confondues.
Simplifié :
Version PHP
→ Environnement d'exécution PHP
Extension PHP
→ fonctionnalité supplémentaire au sein de cet environnement PHP
Par exemple, si une application exige PHP dans une version minimale spécifique et en outre int. requis, les deux exigences doivent être remplies.
CURIAWEB utilise MultiPHP pour les versions de PHP #
Pour la sélection de la version PHP d'un domaine, CURIAWEB recommande :
Logiciel → MultiPHP-Manager
C'est là que vous définissez laquelle des versions PHP disponibles votre site web utilise.
Vous trouverez le mode d'emploi complet sur Modifier la version PHP dans cPanel.
Pourquoi y a-t-il également „ Choisir la version PHP “ ? #
Dans CURIAWEB-cPanel, vous trouverez sous Logiciel en plus le domaine Sélectionner la version PHP. Ceci appartient à la gestion PHP de CloudLinux et fournit son propre environnement PHP avec des options de configuration supplémentaires.
Cependant, cela ne signifie pas que vous devez utiliser simultanément le Gestionnaire MultiPHP et le sélecteur PHP de CloudLinux pour un même site Web.
Important : MultiPHP/EasyApache et le sélecteur de PHP de CloudLinux sont des gestionnaires de PHP différents. Vous ne devez pas considérer automatiquement les paramètres d'un environnement comme ceux de l'autre.
Ne pas changer de gestion PHP à cause d'une extension #
Si une application indique que, par exemple :
int.
ou
fermeture Éclair
manque, tu ne devrais pas changer la gestion PHP comme première étape.
Vérifie d'abord :
- la version de PHP que le site web utilise réellement
- quelle extension précisément est demandée
- si l'extension est déjà disponible dans l'environnement PHP utilisé
- si le message d'erreur est réellement actuel
1. Vérifier la version de PHP utilisée #
Ouvrez dans le cPanel de CURIAWEB :
Logiciel → MultiPHP-Manager
Recherche le domaine concerné et vérifie la version PHP attribuée.
Notez la version utilisée.
Conseil pratique : Avant de rechercher une extension PHP prétendument manquante, vous devez toujours savoir quelle version de PHP le site Web concerné utilise réellement.
2. Lire attentivement le message d'erreur de l'application #
Si une application signale une extension PHP manquante, notez son nom exact.
Un message peut par exemple indiquer de manière explicite qu'une certaine extension n'est pas disponible.
Le nom exact est alors important, tel que :
int.
mbstring
fermeture Éclair
ou
curl
Ne modifiez pas plusieurs composants PHP au hasard.
3. Vérifier si le message concerne réellement une extension PHP #
Ce n'est pas chaque message d'erreur PHP qui indique une extension manquante.
Une application peut par exemple également échouer pour les raisons suivantes :
- version PHP non prise en charge
- Limite de mémoire PHP trop basse
- autorisation de fichier manquante
- Erreur de programmation
- fonction PHP manquante
- mauvaise configuration de l'application
Vérifiez par conséquent la formulation du message d'erreur avant de modifier la configuration PHP.
4. Vérifier le journal des erreurs (Error Log) en cas d'erreurs PHP indéterminées #
Si le site Web affiche simplement une erreur générale, le journal des erreurs peut contenir des informations plus précises.
Un message d'erreur PHP peut, par exemple, contenir des indications sur une fonction ou une classe inexistante.
Nous vous expliquons comment utiliser le journal des erreurs sur Lire le journal des erreurs cPanel et trouver les erreurs du site Web.
Indication typique d'une extension manquante #
Selon l'application et l'extension, les messages peuvent par exemple indiquer qu'une classe ou une fonction requise est absente.
Une telle erreur doit être évaluée dans son contexte respectif.
Le nom d'une fonction manquante peut souvent donner une indication sur l'extension PHP à laquelle elle appartient.
Important : N'installez pas et n'activez pas simplement une extension sur la base d'un seul mot dans un message d'erreur. Vérifiez d'abord les exigences de l'application utilisée.
5. Vérifier les exigences système de l'application #
Lorsque tu installes un CMS, un plugin, un thème ou une autre application PHP, vérifie ses exigences système officielles.
On y trouve par exemple des exigences telles que :
PHP : version minimale requise
Extension : intl
Extension : mbstring
Extension : zip
Cela vous permet de déterminer si l'application requiert impérativement une extension ou si elle la recommande simplement pour une fonctionnalité optionnelle.
Faire la distinction entre obligation et recommandation #
Les éditeurs de logiciels font parfois la distinction entre :
- extensions PHP indispensables
- extensions PHP recommandées
- Extensions pour les fonctionnalités optionnelles individuelles
Si une extension optionnelle manque, cela ne signifie pas nécessairement que l'ensemble du site web doit tomber en panne.
6. Extension PHP dans l'environnement MultiPHP #
Dans l'environnement MultiPHP/EasyApache recommandé par CURIAWEB, les extensions PHP sont fournies côté serveur pour les versions de PHP respectives.
Le MultiPHP-Manager lui-même est principalement destiné à associer la version de PHP au domaine.
Il ne s'agit pas d'un panneau de configuration où vous activez et désactivez les extensions PHP EasyApache de votre choix pour un seul domaine.
En bref : Dans le MultiPHP Manager, vous choisissez la version PHP de votre domaine. Les modules fournis pour cet environnement PHP doivent en être distingués.
Que faire si une extension requise est manquante ? #
Si votre site Web utilise MultiPHP et qu'une extension PHP requise n'est effectivement pas disponible, vous ne devez pas essayer de l'activer via une autre gestion PHP en parallèle.
Notez plutôt :
- domaine concerné
- version PHP utilisée
- Nom de l'extension requise
- application utilisée
- message d'erreur précis
Contactez ensuite le support de CURIAWEB afin de vérifier si l'extension est disponible dans l'environnement PHP concerné ou si elle est prévue côté serveur.
Pourquoi ne puis-je pas installer moi-même les extensions EasyApache ? #
EasyApache gère les composants centraux de l'environnement Apache et PHP du serveur. Sur un compte d'hébergement mutualisé, un utilisateur cPanel individuel ne possède pas de droits administratifs pour installer des paquets EasyApache arbitraires à l'échelle du serveur.
C'est intentionnel : les modifications apportées à l'environnement PHP central peuvent affecter plusieurs comptes d'hébergement ou sites Web.
Les extensions PHP dépendent de la version #
Une extension PHP appartient toujours à un environnement PHP ou à une version PHP spécifique.
Simplifié :
Version PHP A
→ propres modules PHP
Version PHP B
→ propres modules PHP
Le fait qu'une extension soit disponible pour une version de PHP ne signifie donc pas automatiquement que chaque autre version de PHP installée possède exactement la même configuration de modules.
Ne pas changer inutilement de version PHP pour obtenir un module #
Si une extension nécessaire manque avec une version spécifique de PHP, vous ne devriez pas essayer plusieurs versions de PHP au hasard.
Un changement de version peut avoir des répercussions sur l'ensemble de l'application.
Vérifiez d'abord les exigences du logiciel et la configuration PHP réellement prévue.
Faire la différence entre les extensions PHP et les paramètres PHP #
Une extension telle que :
int.
est différent d'une directive PHP telle que :
limite_mémoire
Simplifié :
intl
→ extension PHP
memory_limit
→ paramètre PHP
Chez CURIAWEB, vous gérez les paramètres PHP via le Éditeur INI MultiPHP.
Différencier les extensions PHP et les limites PHP #
De même que les limites PHP telles que :
limite_memoire
taille_max_telechargement_fichier
taille_max_publication
temps_max_execution
ne sont pas des extensions PHP.
Par exemple, si une application signale une erreur de mémoire, l'activation d'extensions supplémentaires n'aide généralement pas.
Nous expliquons les principales limites de PHP sous Définir la limite de mémoire PHP, la taille de téléchargement et le temps d'exécution.
cURL #
L'extension PHP curl permet aux applications PHP de communiquer avec d'autres services via les protocoles réseau pris en charge.
Elle est par exemple souvent nécessaire lorsqu'un site web fait appel à des API ou à d'autres services web externes.
Cependant, lorsqu'une application ne parvient pas à se connecter à un service externe, cela ne signifie pas automatiquement que curl manque.
Les DNS, les certificats, les identifiants de connexion, le service externe ou l'application elle-même peuvent également être la cause.
int. #
L'extension int. fournit des fonctionnalités d'internationalisation.
Cela inclut, entre autres, des fonctionnalités pour le traitement dépendant de la langue et de la région.
Certaines applications ou bibliothèques définissent int. expressément prévu.
mbstring #
mbstring fournit des fonctions pour le traitement des encodages de caractères multi-octets.
C'est particulièrement pertinent pour les textes et les jeux de caractères où un caractère ne se compose pas nécessairement d'un seul octet.
mysqli #
mysqli fournit des fonctions pour la communication de PHP avec des systèmes de bases de données compatibles MySQL.
Si une application PHP basée sur une base de données ne dispose pas d'une extension de base de données requise, elle ne pourra peut-être pas se connecter à la base de données.
Cependant, une erreur de connexion à la base de données ne signifie pas automatiquement que mysqli manque. Des identifiants incorrects ou une mauvaise configuration de la base de données peuvent également en être la cause.
fermeture Éclair #
L'extension fermeture Éclair permet aux applications PHP de travailler avec des archives ZIP.
Elle peut par exemple être requise pour des fonctions d'installation, d'importation, d'exportation ou de sauvegarde d'une application.
Cependant, si la décompression d'une archive échoue, la cause peut également être un fichier ZIP endommagé, un espace de stockage insuffisant ou d'autres erreurs.
bon #
L'extension bon fournit des fonctions de traitement d'images.
Les applications Web peuvent les utiliser, par exemple, pour redimensionner des images ou effectuer d'autres opérations sur les images.
Les formats d'image et les fonctionnalités pris en charge dépendent de la configuration PHP/GD spécifique.
Ne pas assimiler Imagick et GD #
En traitement d'image, vous pourriez également rencontrer :
imagick
Imagick et GD sont des extensions différentes ou des systèmes de traitement d'images.
Si une application exige expressément Imagick, la présence d'une extension GD ne signifie donc pas automatiquement que cette exigence est satisfaite.
openssl #
Le support d'OpenSSL est requis par de nombreuses applications PHP pour les fonctions cryptographiques et la communication cryptée.
Cependant, un problème HTTPS sur un site web n'est pas automatiquement un problème de l'extension PHP openssl.
Les certificats SSL du serveur web et les fonctions PHP OpenSSL relèvent de niveaux techniques différents.
Extensions XML #
PHP dispose de différentes fonctions et extensions pour le traitement du XML.
Par exemple, une application peut nécessiter certains composants XML.
Si un logiciel mentionne un nom de module précis, vous devez vérifier exactement celui-ci et ne pas simplement supposer que „ quelque chose en rapport avec XML “ suffit.
PDO et pilotes de base de données #
De nombreuses applications PHP utilisent PDO pour les accès aux bases de données.
En plus de PDO lui-même, un pilote de base de données adapté peut également être nécessaire.
Un message tel que :
Impossible de trouver le pilote
peut par exemple indiquer que le pilote PDO requis pour la base de données utilisée n'est pas disponible.
Le message d'erreur exact et la configuration de l'application doivent être examinés ensemble.
Que signifie „ Call to undefined function “ ? #
Un message d'erreur PHP peut par exemple contenir :
Appel à une fonction non définie ...
Cela signifie que PHP ne connaît pas la fonction appelée dans l'environnement actuel.
Une cause possible est l'absence d'une extension. Cependant, il peut également y avoir d'autres causes, par exemple un code d'application erroné.
Vérifiez par conséquent à quel composant appartient la fonction mentionnée.
Que signifie „ Class not found “ ? #
Un message tel que :
Classe ... introuvable
ne prouve pas non plus automatiquement qu'une extension PHP est manquante.
La classe pourrait par exemple être :
- d'une extension PHP
- d'une bibliothèque de programmes
- un plugin
- un thème
- code d'application individuel
appartenir.
La désignation exacte de la classe est donc décisive.
WordPress et extensions PHP #
WordPress requiert ou recommande certaines extensions PHP pour diverses fonctions. De plus, les extensions (plugins) et les thèmes peuvent avoir leurs propres exigences.
Si un plugin WordPress signale une extension manquante, vous devez par conséquent vérifier si la requête provient du cœur de WordPress ou exclusivement du plugin concerné.
WooCommerce et extensions #
WooCommerce ainsi que les extensions de paiement, d'expédition, d'importation et autres peuvent utiliser des fonctionnalités PHP supplémentaires.
C'est pourquoi, en particulier dans le cas d'installations WordPress complexes, les exigences de certains plugins peuvent aller au-delà des exigences fondamentales de WordPress.
En cas de message d'erreur, consultez toujours la documentation de l'extension spécifiquement concernée.
Applications Composer et extensions PHP #
Les applications PHP qui utilisent Composer peuvent définir les extensions requises comme des dépendances.
Lors de l'installation ou de la mise à jour, Composer peut par exemple indiquer qu'un certain ext-...-Dépendance manquante.
Une notification peut par exemple concerner :
ext-intl
ou
ext-zip
faire référence.
Le préfixe ext- désigne dans ce contexte une extension PHP requise.
Ne pas contourner facilement la vérification de Composer #
Si Composer signale une extension PHP requise, vous ne devez pas ignorer ou contourner cette exigence sans vérification.
L'application peut effectivement avoir besoin de l'extension pour son fonctionnement.
Attention : Contourner une vérification de dépendance ne rend pas une fonction PHP manquante disponible. Vérifiez plutôt pourquoi l'application a besoin de cette extension.
Extension PHP apparemment disparue après un changement de version #
Si une application signale soudainement une extension manquante immédiatement après un changement de version de PHP, vous devez en tenir compte.
Vérifier :
- version PHP précédente
- nouvelle version de PHP
- nom exact de l'extension
- si l'application est compatible avec la nouvelle version de PHP
Si nécessaire, vous pouvez rétablir la version précédente de PHP à l'aide du MultiPHP Manager, pour autant que cette version soit toujours disponible.
Ne pas supposer immédiatement que plusieurs extensions sont la cause #
Si un site web tombe en panne après un changement de version de PHP, il faut d'abord analyser le message d'erreur précis.
Un changement de version PHP peut également entraîner des incompatibilités dans le code de l'application, même si toutes les extensions nécessaires sont présentes.
Ne pas configurer CloudLinux PHP Selector en parallèle #
La zone visible dans cPanel Sélectionner la version PHP peut proposer ses propres options de sélection pour les versions de PHP, les extensions et les paramètres.
Cependant, si votre site web est exploité via MultiPHP/EasyApache conformément à la recommandation de CURIAWEB, vous ne devez pas essayer de „compléter“ une extension MultiPHP qui y fait défaut par des paramètres parallèles dans le sélecteur PHP.
Important : Une extension que vous activez dans un autre environnement PHP ne devient pas automatiquement pour autant un composant de la version PHP MultiPHP/EasyApache utilisée par votre site web.
Les paquets PEAR ne sont pas la même chose que les extensions PHP #
Dans CURIAWEB-cPanel, vous trouverez également la section Paquets PHP-PEAR.
Les paquets PEAR ne sont pas compatibles avec les extensions PHP côté serveur telles que int., curl ou mysqli assimiler.
Par conséquent, si une application requiert une extension PHP, vous ne devez pas essayer de satisfaire cette exigence en installant un paquet PEAR arbitraire.
Les modules Perl sont également quelque chose de différent #
La section cPanel également Modules Perl ne fait pas partie de la gestion des extensions PHP.
PHP et Perl sont des environnements de langages d'exécution ou de programmation différents.
Télécharger soi-même une extension PHP ? #
Une extension PHP côté serveur ne peut pas être activée en téléversant un fichier de module quelconque dans le répertoire de votre site web.
Les extensions PHP doivent correspondre à la version de PHP utilisée ainsi qu'à l'environnement du serveur, et être intégrées en conséquence dans l'environnement d'exécution PHP.
Attention : Ne téléchargez pas de modules PHP compilés inconnus depuis Internet sur votre compte d'hébergement et n'essayez pas de les intégrer manuellement dans la configuration PHP du serveur.
Ne pas confondre l'extension PHP avec le plugin WordPress #
Un plugin WordPress et une extension PHP sont également deux choses complètement différentes.
Simplifié :
Extension PHP
Une extension WordPress peut nécessiter une extension PHP, mais ne peut pas l'installer automatiquement en tant que module PHP côté serveur.
Tester le site web après une modification #
Si une extension PHP requise a été fournie ou si la configuration PHP a été modifiée, testez précisément la fonction qui a déclenché l'erreur auparavant.
Par exemple :
Installation du plugin échouée
→ Tester à nouveau l'installation
Fonction API défectueuse
→ Tester à nouveau la connexion concernée
Traitement du ZIP échoué
→ Exécuter à nouveau la même opération
Voici comment vous pouvez déterminer si l'extension était réellement la cause.
L'erreur persiste malgré l'extension installée #
Si l'extension requise est présente et que l'application signale toujours une erreur, vous ne devriez pas supposer que d'autres extensions PHP manquent.
Vérifie plutôt :
- message d'erreur précis
- Version PHP
- Version de l'application
- Paramètres PHP
- Limites PHP
- Configuration de l'application
- Journal des erreurs
Extensions PHP après migration de site web #
Lors d'un changement d'hébergement, l'environnement PHP peut différer de celui du serveur précédent.
Un site Web plus ancien ou configuré individuellement peut avoir utilisé une extension qui était en outre installée sur le serveur précédent.
Si un site Web affiche une erreur PHP après un déménagement, la version PHP utilisée et les extensions requises font également partie du diagnostic.
Documenter les exigences avant un déménagement #
Pour les applications PHP développées sur mesure, il est judicieux de connaître les exigences techniques avant de changer de serveur.
Cela comprend par exemple :
- Version PHP
- extensions PHP requises
- Paramètres PHP
- Exigences de base de données
- Tâches cron
- autres dépendances côté serveur
Cela permet de vérifier l'environnement cible avant la commutation proprement dite.
Procédure recommandée en cas de notification d'une extension PHP manquante #
- Notez le message d'erreur complet.
- Notez le nom de l'extension prétendument manquante.
- Vérifiez les exigences système de l'application.
- Ouvrir Logiciel → MultiPHP-Manager.
- Vérifiez la version PHP du domaine concerné.
- Vérifiez si l'application prend en charge cette version de PHP.
- Faites la distinction entre une extension PHP, un paramètre PHP et une limite PHP.
- En cas d'erreurs floues, consultez le journal des erreurs.
- Ne changez pas de gestionnaire PHP au hasard.
- Contactez le support si une extension nécessaire fait effectivement défaut dans l'environnement MultiPHP utilisé.
- Testez à nouveau exactement la fonction précédemment défectueuse après une modification.
Dépannage recommandé après un changement de version de PHP #
- Vérifiez si l'erreur est survenue immédiatement après le changement de version.
- Notez la version précédente et la version actuelle de PHP.
- Vérifie le message d'erreur précis.
- Vérifiez si une extension est effectivement mentionnée.
- Vérifiez les exigences de l'application concernée.
- Si nécessaire, passez temporairement à la version précédente de PHP pour effectuer un test.
- Le site web fonctionne-t-il à nouveau, étudie la compatibilité du nouvel environnement PHP.
- N'activez pas d'extensions supplémentaires au hasard.
Règle de base : Une extension PHP manquante doit être identifiée à l'aide d'une exigence concrète ou d'un message d'erreur. Vérifiez la version de PHP, identifiez l'extension et conservez proprement l'environnement PHP utilisé, sans mélanger plusieurs gestions de PHP.
Quand devez-vous contacter le support CURIAWEB ? #
Si une application exige impérativement une extension PHP et qu'elle n'est pas disponible dans l'environnement MultiPHP/EasyApache utilisé par votre domaine, une vérification côté serveur peut s'avérer nécessaire.
Pour l'analyse, les informations suivantes sont particulièrement utiles :
- domaine concerné
- version PHP utilisée
- Nom de l'extension PHP requise
- application ou CMS utilisé
- plugin ou thème concerné, le cas échéant
- message d'erreur complet
- depuis quand le problème existe
- que la version de PHP ait été modifiée ou que le site Web ait été migré auparavant
Ne transmettez pas de mots de passe ou d'autres informations d'identification confidentielles.
Résumé #
Les extensions PHP ajoutent des fonctionnalités supplémentaires à PHP. Les applications peuvent, par exemple curl, int., mbstring, mysqli, fermeture Éclair ou nécessitent d'autres extensions.
CURIAWEB recommande fondamentalement pour la version PHP d'un site web MultiPHP/EasyApache. Vous gérez la version de PHP via Logiciel → MultiPHP-Manager.
La section CloudLinux supplémentaire visible Sélectionner la version PHP représente une gestion PHP distincte. Ne l'utilisez pas en parallèle pour compléter de prétendues extensions manquantes d'un site Web MultiPHP.
Si une application signale une extension manquante, vérifiez d'abord la version de PHP utilisée, le nom exact de l'extension et les exigences officielles de l'application. Faites la distinction entre les extensions PHP, les paramètres PHP et les limites PHP.
Si une extension indispensable fait effectivement défaut dans l'environnement MultiPHP/EasyApache utilisé, il convient de vérifier si elle peut être mise à disposition côté serveur pour cette version de PHP.
La règle la plus importante est : Ne pas activer de modules PHP ou de systèmes PHP différents au hasard – déterminer d'abord quelle extension est réellement nécessaire à quelle application sous quelle version de PHP.