Les erreurs PHP semblent souvent cryptiques, mais presque chaque message d’erreur pointe directement vers la cause si vous savez où regarder. Activez d’abord le rapport d’erreurs pour les rendre visibles, consultez ensuite le bon fichier journal et traitez les types d’erreurs les plus courants étape par étape. Avec les bons réglages dans PHP et Plesk, vous résolvez la plupart des problèmes en quelques minutes.
Reconnaître les types d’erreurs PHP
PHP connaît différents niveaux d’erreur, et le type d’erreur détermine l’urgence de l’action à entreprendre.
- Parse error : une erreur de syntaxe, par exemple un point-virgule ou une accolade oubliée. Le site ne fonctionne généralement plus du tout.
- Fatal error : une fonction ou une classe n’existe pas, ou un fichier ne peut pas être chargé. Souvent la cause d’une page blanche.
- Warning : quelque chose se passe mal, mais le script continue de s’exécuter. Pensez à une valeur de tableau manquante.
- Notice/Deprecated : moins grave, mais indique souvent un code obsolète qui posera problème avec une version PHP plus récente.
Un message comme Fatal error: Uncaught Error: Call to undefined function signifie littéralement que PHP ne connaît pas une fonction, par exemple parce qu’un plugin ou un module manque.
Configurer le rapport d’erreurs et la journalisation
Pour résoudre des erreurs, il faut d’abord pouvoir les voir. Par défaut, l’affichage des erreurs est souvent désactivé sur un site en production, et c’est justifié : vous ne voulez pas afficher aux visiteurs des messages d’erreur contenant des chemins de serveur. À la place, vous consignez les erreurs dans un fichier.
Définissez ceci dans votre php.ini ou via un .user.ini :
display_errors = Off(en production)log_errors = Onerror_reporting = E_ALLerror_log = /chemin/vers/php_errors.log
Dans Plesk, vous trouvez facilement les paramètres PHP par domaine et le journal d’erreurs correspondant dans la section « Paramètres PHP » et « Fichiers journaux », sans devoir chercher vous-même dans des fichiers de configuration.
Résoudre les erreurs courantes
La plupart des erreurs PHP se rangent dans un nombre limité de catégories :
- Undefined function/class : vérifiez si la bonne extension PHP est activée, ou si un fichier avec un require/include n’a pas été chargé.
- Undefined variable/array key : vérifiez si une variable existe bien avant de l’utiliser, par exemple avec
isset(). - Memory limit exceeded : augmentez la valeur memory_limit dans php.ini, mais cherchez aussi pourquoi un script a besoin d’autant de mémoire.
- Maximum execution time exceeded : un script prend trop de temps, souvent à cause d’une requête lourde ou d’un appel externe sans timeout.
- Class not found : généralement un autoloader manquant, par exemple après avoir oublié
composer install.
Après une mise à jour de votre site ou un changement de version PHP, de nouveaux messages d’erreur peuvent soudainement apparaître, car du code obsolète n’est plus compatible. Testez donc les pages principales de votre site après chaque changement de version PHP.
Plan d’action pour une page blanche ou une erreur 500
Une page blanche (‘white screen of death’) ou une erreur interne du serveur n’affiche souvent aucun message d’erreur direct à l’écran. Suivez ce plan d’action pour trouver rapidement la cause.
Consultez le journal d’erreurs
Ouvrez le journal d’erreurs PHP dans Plesk ou via FTP et recherchez la ligne la plus récente contenant une fatal error ou une parse error.
Activez temporairement display_errors
Sur un environnement de test, activez display_errors pour voir directement le message d’erreur à l’écran, y compris le nom du fichier et le numéro de ligne.
Accédez à la ligne mentionnée
Ouvrez le fichier indiqué dans le message d’erreur et vérifiez la ligne mentionnée pour détecter des erreurs de syntaxe, des parenthèses manquantes ou un nom de fonction incorrect.
Vérifiez les modifications récentes
Un plugin, un thème ou une version PHP a-t-il été modifié récemment ? Annulez la modification pour confirmer qu’il s’agit bien de la cause.
Restaurez une sauvegarde si nécessaire
Si vous ne parvenez pas à trouver rapidement l’erreur, restaurez une sauvegarde quotidienne récente puis réappliquez les modifications étape par étape.
Pour les scripts PHP liés aux e-mails, comme les formulaires de contact envoyant des e-mails, il est aussi judicieux de vérifier que votre e-mail professionnel est correctement configuré, afin que les messages d’erreur ne finissent pas par mégarde dans un filtre anti-spam. Si vous vous demandez si votre hébergement est bien configuré pour le débogage, consultez les possibilités de l’hébergement web avec Plesk et accès aux journaux. Si vous êtes bloqué, vous trouverez plus d’explications dans la base de connaissances.
Questions fréquentes
Pourquoi ne vois-je aucun message d’erreur, juste une page blanche ?
Cela se produit généralement parce que display_errors est désactivé. Consultez le journal d’erreurs PHP, l’erreur y est bien indiquée.
Comment trouver le journal d’erreurs PHP dans Plesk ?
Allez sur votre domaine, ouvrez « Fichiers journaux » et sélectionnez le journal d’erreurs PHP, ou consultez son emplacement via les paramètres PHP du domaine.
Un changement de version PHP peut-il causer des erreurs ?
Oui, des fonctions peuvent être obsolètes ou supprimées dans une version plus récente. Testez les pages principales après chaque changement et adaptez le code si nécessaire.
Que faire si je ne trouve vraiment pas l’erreur ?
Restaurez une sauvegarde récente ou contactez votre hébergeur via WhatsApp, ticket ou e-mail pour obtenir de l’aide dans l’analyse du fichier journal.
Conclusion
Résoudre les erreurs PHP commence par la visibilité : activez la journalisation, lisez le bon fichier journal et rendez-vous directement à la ligne mentionnée. Avec un plan d’action fixe et l’accès aux fichiers journaux dans Plesk, vous résolvez vous-même la plupart des problèmes, et en cas de doute, le support 24/7 est disponible.