Erreur 500 WordPress après la mise à jour d’une extension

RÉPONSE DIRECTE
Si une erreur 500 WordPress est apparue immédiatement après la mise à jour d’une extension, désactivez l’extension mise à jour en renommant son dossier dans `wp-content/plugins/` via SFTP ou le gestionnaire de fichiers de votre hébergeur. Si le site revient à la normale, consultez les journaux PHP et WordPress, puis revenez à une version précédente de l’extension ou corrigez le problème de compatibilité signalé. Testez le site public et `/wp-admin/` avant de la réactiver.
Points clés
- Une erreur 500 qui apparaît immédiatement après la mise à jour d’une seule extension met fortement en cause cette extension, ses fichiers ou un problème de compatibilité.
- Renommer le dossier de l’extension est un moyen pratique de la désactiver lorsque
/wp-admin/est inaccessible. - L’erreur fatale PHP dans
wp-content/debug.logou le journal d’erreurs de l’hébergeur peut permettre de distinguer un problème d’exigence PHP, un conflit, une mise à jour incomplète ou une régression de l’extension. - Revenir à la dernière version connue comme fonctionnelle est une mesure de rétablissement, pas nécessairement une solution permanente.
- Vérifiez le site public,
/wp-admin/et les fonctionnalités concernées de l’extension après chaque modification.
Site Administrator
Ce que signifie cette erreur et comment la reconnaître
- Le site fonctionnait avant la mise à jour d’une extension, puis le front-end, le tableau de bord WordPress ou les deux ont commencé à renvoyer des erreurs HTTP 500.
- La panne peut survenir après une mise à jour manuelle ou automatique de l’extension.
- Le site public peut se charger alors que
/wp-admin/échoue, ou seules les pages et requêtes utilisant l’extension mise à jour peuvent être affectées. - Le navigateur peut afficher une « 500 Internal Server Error » générique, une page blanche ou un message WordPress indiquant une erreur critique au lieu de la cause sous-jacente.
- Renommer le dossier de l’extension récemment mise à jour peut permettre au site de se charger à nouveau.
- Le journal de débogage du serveur ou de WordPress peut contenir une erreur fatale PHP, une erreur d’analyse, une erreur de fichier manquant ou un message mentionnant l’extension mise à jour.
Causes principales, classées par probabilité
- Incompatibilité PHP : La nouvelle version de l’extension peut nécessiter une fonctionnalité ou une version de PHP que le serveur ne fournit pas.
- Conflit entre l’extension, le thème ou WordPress : La mise à jour peut interagir de manière incorrecte avec une autre extension, le thème actif ou la version installée du cœur de WordPress. Les déclarations en double d’une fonction ou d’une classe sont des indices fréquents.
- Mise à jour incomplète ou corrompue : Un délai d’attente, une connexion interrompue ou un transfert de fichiers échoué peut laisser des fichiers d’extension manquants ou endommagés.
- Régression de l’extension : La nouvelle version peut contenir un défaut qui affecte la configuration de ce site, même lorsque les exigences PHP et WordPress indiquées sont respectées.
- Problème d’hébergement distinct ou plus général : Si la désactivation de l’extension mise à jour ne change rien, la réponse 500 peut être liée à une autre modification récente, à la configuration PHP, aux permissions, aux limites de ressources ou à une panne au niveau du serveur.
Comment corriger le problème
1. Confirmer le moment d’apparition et l’étendue du problème
Identifiez l’extension mise à jour immédiatement avant l’apparition de l’erreur. Si plusieurs extensions ont été mises à jour en même temps, notez-les toutes. Vérifiez le site public, /wp-admin/ et toute fonctionnalité spécifique à l’extension qui échoue. Évitez les mises à jour sans rapport tant que la cause présumée n’a pas été testée.
2. Désactiver l’extension mise à jour sans utiliser le tableau de bord
Avant de modifier des fichiers, assurez-vous de disposer d’un accès autorisé au site via SFTP ou le gestionnaire de fichiers de l’hébergeur et, si possible, d’une sauvegarde récente. Ouvrez wp-content/plugins/ et renommez le dossier de l’extension concernée en lui ajoutant un suffixe tel que -disabled.
Rechargez le front-end et /wp-admin/ :
- Si le site revient à la normale, laissez l’extension désactivée pendant que vous consultez les journaux et choisissez un retour arrière ou une correction de compatibilité.
- Si rien ne change, rétablissez le nom d’origine du dossier et testez l’extension suivante mise à jour en même temps.
- Si l’erreur persiste après la désactivation de toutes les extensions récemment mises à jour, consultez les journaux du serveur et de PHP, puis examinez les autres modifications récentes apportées à l’hébergement ou à la configuration.
Renommer un dossier modifie les extensions que WordPress charge. N’utilisez donc pas cette méthode comme substitut à l’identification et à la correction du problème sous-jacent.
3. Enregistrer l’erreur PHP sous-jacente
Une réponse 500 n’est que le symptôme visible. Si vous êtes autorisé à modifier wp-config.php, activez temporairement la journalisation au-dessus de la ligne indiquant que la modification est arrêtée :
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );Avec l’extension concernée toujours désactivée, conservez le journal actuel si nécessaire. Ne réactivez l’extension que lorsque vous êtes prêt à reproduire la panne, puis reproduisez-la une seule fois et consultez wp-content/debug.log ainsi que le journal d’erreurs PHP ou serveur du panneau d’hébergement. Recherchez le nom de l’extension, un message concernant la version de PHP, un fichier manquant, une erreur d’analyse, Cannot redeclare function ou Cannot declare class.
La journalisation de débogage peut enregistrer des détails sensibles sur l’implémentation et doit rester temporaire. Désactivez ces paramètres après les tests, en particulier sur un site de production public, et supprimez ou sécurisez les données de journal exposées conformément aux procédures de votre hébergeur.
4. Faire correspondre le message du journal à la cause probable
- Une fonctionnalité PHP non prise en charge ou une version de PHP requise indique un problème de compatibilité PHP.
- Un message mentionnant deux extensions ou un thème avec
Cannot redeclare functionouCannot declare classindique un conflit de compatibilité. - Un fichier manquant, une erreur d’analyse ou une erreur dans le dossier de l’extension récemment mise à jour suggère une mise à jour incomplète ou corrompue.
- Une erreur mentionnant le cœur de WordPress ou une autre extension peut indiquer que la mise à jour a révélé un problème de compatibilité plus général.
- Si le journal ne mentionne ni l’extension ni un composant associé, vérifiez les erreurs au niveau de l’hébergement avant d’attribuer la responsabilité à la mise à jour.
5. Revenir à la dernière version connue comme fonctionnelle
Si le site doit être rétabli rapidement, conservez une copie des fichiers actuels de l’extension et utilisez une sauvegarde vérifiée ou un ancien paquet provenant de la source de distribution officielle de l’extension. Importez-le ou restaurez-le via SFTP ou le gestionnaire de fichiers de l’hébergeur, puis testez le site avant de réactiver l’extension.
N’écrasez pas l’unique copie d’une sauvegarde fonctionnelle. Désactivez les mises à jour automatiques de cette extension ou soumettez-les à validation jusqu’à ce que la cause soit comprise et qu’une version compatible soit disponible.
6. Vérifier les exigences PHP et WordPress
Comparez les versions minimales de PHP et de WordPress indiquées pour la version mise à jour de l’extension avec les versions réellement utilisées par le site. Lorsque le tableau de bord est accessible, les informations PHP sont généralement disponibles dans Outils → Santé du site → Informations ; le panneau de contrôle de l’hébergeur peut également afficher la version PHP active.
Si la version de PHP ou de WordPress est inférieure à celle requise par l’extension, créez une sauvegarde et confirmez la compatibilité avec le thème, les autres extensions et l’environnement d’hébergement avant toute mise à niveau. Si l’hébergeur gère PHP, demandez-lui quelle procédure de mise à niveau est prise en charge. Ne modifiez pas à l’aveugle la version PHP de production, car cela peut affecter le reste du site.
7. Faire remonter un conflit ou une régression confirmée
Laissez la mise à jour incompatible désactivée ou restaurez la dernière version connue comme fonctionnelle tout en signalant l’erreur fatale exacte, les versions de l’extension, la version PHP, la version de WordPress et les étapes de reproduction aux développeurs concernés de l’extension ou du thème. Évitez de modifier définitivement les fichiers de l’extension : une future mise à jour peut écraser ces changements et laisser le site sans prise en charge.
Prévention et vérification du correctif
- Créez et vérifiez une sauvegarde de la base de données et des fichiers du site avant de mettre à jour les extensions.
- Mettez à jour les extensions individuellement lorsque cela est possible, afin de pouvoir associer une panne à une modification précise.
- Testez les modifications importantes des extensions, de WordPress et de PHP sur une copie de staging avant de les appliquer en production.
- Maintenez PHP et WordPress dans les plages prises en charge indiquées par les extensions et le thème.
- Après chaque mise à jour, testez le site public,
/wp-admin/, la connexion, les formulaires et les fonctionnalités fournies par l’extension mise à jour. - Examinez les mises à jour automatiques des extensions critiques pour l’activité ou ayant déjà rencontré des problèmes de compatibilité.
- Conservez une version d’extension documentée comme dernière version fonctionnelle et une méthode de récupération disponible.
- Désactivez les paramètres temporaires d’affichage et de journalisation du débogage après le dépannage, et protégez ou supprimez les journaux contenant des détails internes sur les erreurs.
Quand demander une aide externe
Contactez l’hébergeur lorsque les journaux indiquent un problème de configuration PHP, de permissions de fichiers, de limites de ressources ou une panne au niveau du serveur, ou lorsque vous ne pouvez pas accéder aux fichiers du site. Contactez le développeur de l’extension lorsque le site respecte les exigences indiquées, que la panne est reproductible avec l’extension activée et que le journal indique une régression ou un conflit. Fournissez l’erreur fatale exacte, les chemins des fichiers concernés, les détails de l’extension et de sa version, la version PHP, la version de WordPress et les étapes de reproduction. Si le site reste indisponible après la désactivation de l’extension suspecte, utilisez une sauvegarde vérifiée ou demandez à un professionnel WordPress de le récupérer avant d’effectuer d’autres modifications en production.
Questions fréquentes
Puis-je corriger une erreur 500 WordPress après une mise à jour d’extension sans me connecter à wp-admin ?
Oui. Utilisez SFTP ou le gestionnaire de fichiers de votre hébergeur pour renommer le dossier de l’extension concernée dans wp-content/plugins/. WordPress cessera de charger cette extension, ce qui peut rétablir l’accès si elle est à l’origine de la panne.
Comment savoir si la mise à jour de l’extension a causé l’erreur 500 ?
Désactivez l’extension récemment mise à jour et rechargez le front-end ainsi que /wp-admin/. Le rétablissement du site constitue un indice fort impliquant l’extension ou sa mise à jour, mais le journal PHP ou serveur est nécessaire pour identifier la cause précise.
Dois-je mettre PHP à jour lorsqu’une mise à jour d’extension provoque une erreur 500 ?
Uniquement après avoir vérifié la version PHP requise par l’extension, créé une sauvegarde et confirmé que le thème et les autres extensions prennent en charge la nouvelle version de PHP. Si l’hébergeur gère PHP, demandez-lui quelle procédure de mise à niveau est prise en charge plutôt que de la modifier à l’aveugle.
Que signifie Cannot redeclare function après une mise à jour d’extension ?
Cela signifie généralement que deux composants chargés définissent la même fonction ou la même classe, ou que l’extension mise à jour a introduit un problème de compatibilité. L’erreur fatale devrait identifier les fichiers concernés ; laissez la mise à jour désactivée et transmettez ces informations aux développeurs.
Revenir à une version précédente de l’extension est-il une solution permanente ?
Généralement non. Ce retour restaure le dernier code connu comme fonctionnel pendant que vous recherchez un problème de compatibilité avec PHP, WordPress, le thème ou une autre extension, et que vous attendez si nécessaire une version compatible.
Que faire si renommer le dossier de l’extension mise à jour ne corrige pas l’erreur ?
Rétablissez le nom du dossier et testez les autres extensions mises à jour en même temps. Consultez ensuite le journal PHP/serveur de l’hébergeur pour rechercher des problèmes de permissions, des limites de ressources, des fichiers incomplets ou une autre modification récente de la configuration.
Documentation complémentaire
Pour un suivi faisant autorité, consultez la documentation WordPress consacrée aux procédures de débogage et de récupération, les notes de version de l’extension ainsi que ses exigences PHP/WordPress, et la documentation de votre hébergeur concernant les changements de version PHP et les journaux d’erreurs du serveur. Utilisez la documentation correspondant à la version installée de l’extension et à l’environnement d’hébergement concernés ; les exigences et les interfaces de récupération peuvent varier selon les versions.