Qu'est-ce que l'erreur 500 et comment la corriger sur ma boutique en ligne PrestaShop ?
Vous-est-il déjà arrivé qu'en naviguant sur votre site, l'écran devienne blanc et qu'une anomalie appelée "erreur HTTP 500" (500 Internal Server Error en anglais) apparaisse ?
C'est un problème qui peut survenir de temps en temps, surtout lorsque vous lancez la mise à jour du thème ou des modules de votre site internet.
Mais il existe une solution simple, comme vous pourrez le constater dans l'article d'aujourd'hui.
Une fois que vous aurez créé votre boutique en ligne et mis en place tout ce dont vous avez besoin pour commencer à vendre vos produits ou services, un code d’erreur http 500 (ou erreur de serveur interne) peut survenir. Pas de panique !
Nous vous recommandons toutefois de prendre le temps de la résoudre, car si une erreur de ce type persiste dans le temps, elle peut entraîner de lourdes pertes pour le site Web de votre entreprise puisqu'elle empêche la navigation des utilisateurs sur votre site et donc, l'achat de vos produits.
Mais pour commencer, en quoi cette erreur consiste-t-elle ?
Qu'est-ce qu'une erreur 500 ?
Un code d’erreur HTTP 500 concerne une erreur “côté serveur” (à l’inverse des erreurs 400 qui sont des erreurs “côté client”). Un serveur web affiche une erreur 500 (ou erreur de serveur interne) lorsqu'il ne peut effectuer une requête ou une demande qui a priori devrait être correcte.
Étant donné que chaque serveur web peut utiliser ses propres textes et sa propre nomenclature, le message d'erreur peut prendre plusieurs formes.
Voici quelques-uns des messages d'erreur les plus courants :
- « Erreur 500 (Internal Server Error) »
- « Erreur 500 - Erreur interne du serveur »
- « Erreur interne du serveur »
- « HTTP ERROR 500 »
- « Erreur 500 »
- « Erreur HTTP 500 »
"Le serveur a rencontré une erreur interne ou une mauvaise configuration et n'a pas pu répondre à votre demande. Veuillez contacter l'administrateur du serveur à l'adresse [email protected] pour l'informer de l'heure à laquelle cette erreur s'est produite et des actions que vous avez effectuées juste avant cette erreur. De plus amples informations sur cette erreur peuvent être disponibles dans le journal des erreurs du serveur.”
Il est évident qu'une telle erreur peut s'avérer inquiétante si vous possédez une boutique en ligne et que celle-ci constitue votre principal revenu.
Et pour les développeurs Web, c'est un véritable cauchemar : commence une course effrénée pour rendre votre site à nouveau pleinement opérationnel.
Mais quelle est la gravité d'un code d'erreur 500 ?
Bien que cela semble terrifiant, qu'un tel problème survienne sur votre site de e-commerce n'est pas la fin du monde.
Dans cet article, nous vous expliquons comment y remédier dans votre boutique PrestaShop.
Ainsi la prochaine fois, vous n'aurez rien à craindre et pourrez agir rapidement pour ne pas retarder davantage vos ventes !
Les différents types d’erreurs 500 que vous pouvez rencontrer sur votre site internet
Outre l’erreur 500, il existe d’autres codes d’erreurs que les sites e-commerce (ou non) peuvent expérimenter ! En tout, on compte plus de 11 codes différents, chacun de ces codes une origine différente. On vous présente les codes les plus courants parmis la famille des codes d’erreurs 500 :
Erreur 502 : bad gateway
Le serveur web a accepté la requête mais il en a empêché l’exécution. Généralement, cette erreur est liée au fait que le serveur a reçu une réponse incorrecte de la part d’un autre serveur (cette situation arrive lorsque vous utilisez un proxy par exemple).
Un problème de réseau peut également être la cause de cette erreur 502. La requête met trop de temps à parvenir au serveur, et celui-ci décide donc d’annuler la requête ou d'interrompre la connexion à la base de données. Dans ces deux situations, il suffit d’attendre, de vider les caches et recharger la page en question pour résoudre le problème.
Dans certains cas, un code d’erreur 502 est dû à un problème de DNS (Domain Name Services, ce qui correspond à la liaison entre le nom de domaine et le serveur). Ce problème de DNS arrive si vous avez migré votre site chez un nouvel hébergeur. Comme pour le problème de réseau, il suffit d’attendre (environ 24h) pour que la connexion entre votre domaine et l’IP du nouveau serveur web se fasse.
Erreur 503 : service unavailable
Le code d’erreur 503 signifie que le serveur web est temporairement indisponible. Ce message indique que votre site est en ligne et qu’il fonctionne correctement, mais qu’il est temporairement inaccessible. Ce code d’erreur est souvent lié à la maintenance d’un site internet ou à une mise à jour. Généralement, cette erreur disparaît au bout de quelques minutes, lorsque la mise à jour est terminée. Si le code d’erreur persiste, jetez un œil du côté des extensions de votre site ou votre thème, qui peuvent être l’origine du problème.
Erreur 504 : gateway timeout
Cette erreur survient lorsque votre site utilise plusieurs serveurs pour assurer son fonctionnement. Spécifiquement, le code d’erreur 504 se produit lorsque le temps d’attente d’une réponse entre ces deux serveurs est écoulé.
Le premier serveur a bien reçu la requête du navigateur, il la transmet et attend la réponse du second serveur. Dans quel cas de figure cela arrive ? Dans plusieurs situations, par exemple si votre site a besoin d’une API pour fonctionner ou si vous avez un CDN (Content Delivery Network). Cela se produit également si votre base de données est hébergée sur un serveur différent.
Comme pour l’erreur 503, ce problème est temporaire, il vous suffit d’attendre. Prenez garde à ne pas laisser votre site en panne et en erreur 504 plus de 6h, sinon Google et les moteurs de recherche considéreront l’erreur 504 comme un problème structurel sur votre site internet et seraient en mesure de pénaliser votre référencement naturel.
Comment détecter une erreur 500 dans ma boutique PrestaShop ?
En résumé, cette fameuse erreur 500 est une façon pour le serveur Web de vous dire : « Oups ! Une erreur est survenue, mais on ne peut pas vous en dire plus. »
C'est ce que l'on appelle un problème côté serveur.
Autrement dit, une défaillance du service d'hébergement qui héberge le site web est survenue.
Il s'agit d'un avertissement extrêmement générique, généralement dû à des problèmes de configuration de PHP, de programmation ou d'autorisations du site web.
La plupart du temps, ce bug s'accompagne d'une explication assez sommaire, similaire à celle-ci :
Le serveur signale une erreur inattendue et ne peut compléter la requête du client.
Il est très important de ne pas la confondre avec l'erreur HTTP 404 : page introuvable que nous avons également traitée dans ce blog et que vous pouvez consulter à tout moment.
N'oubliez pas que cette erreur peut se produire dans n'importe quel navigateur et système d'exploitation (donc non, acheter le nouvel Apple Mac Pro ne vous empêchera pas d'y être confronté à un moment donné...)
Voici une capture d'écran contenant un exemple de la façon dont ce problème peut être affiché :
Comment corriger l'erreur 500 sur le site de ma boutique en ligne ?
Bien que le message d'erreur ne soit pas très explicite, PrestaShop vous révèle plus de détails sur ce problème.
Certains serveurs web, en raison de leur configuration, masquent souvent des messages d'erreur plus spécifiques.
Par conséquent, si vous avez ce même problème sur votre site et que les messages d'erreur sont trop sommaires, activez les rapports d'erreurs FTP ou CPanel de votre hébergement dans votre boutique PrestaShop.
Il y a 2 façons d'activer ces rapports, selon la version que vous utilisez :
-
De PrestaShop v1.4 à v1.5.2
- Ouvrez config/config.inc.php
- Sur la ligne 28, vous trouverez cette ligne define('_PS_MODE_DEV_', false) ;
- Remplacez-la par @ini_set('display_errors', 'on') ;
- PrestaShop v1.5.3 et versions ultérieures (y compris 1.6 et 1.7)
- Ouvrez config/defines.inc.php
- Sobre la línea 28 encontrarás esta línea define('_PS_MODE_DEV_', false);
- Remplacez-la par define('_PS_MODE_DEV_', true) ;
Une fois les rapports d'erreurs provenant de FTP ou CPanel activés, vous pourrez parcourir le front-office ou le back-office de votre boutique pour connaître le problème survenu.
Aussi, si vous ne pouvez pas accéder à votre site Web en raison de l'erreur 500, activez le rapport d'erreur et actualisez la page dont l'affichage a échoué.
Vous y trouverez des renseignements supplémentaires qui vous aideront à en savoir un peu plus sur les causes et l'emplacement de cet incident.
Quelle est l'origine d'une erreur 500 ?
Maintenant que vous en savez plus, vous pouvez mettre en pratique quelques-uns des conseils standards ci-dessous pour approfondir vos recherches.
Pour commencer, passez en revue les causes les plus courantes du problème. Si l'on connaît la cause du problème, il est beaucoup plus simple de trouver la solution adéquate et d'agir en conséquence.
Le problème peut être lié aux causes suivantes :
1. Erreur de permission
Dans de nombreux cas, vous constaterez que les autorisations des dossiers ne sont pas définies correctement.
Pour corriger cette erreur, il vous suffit de définir l'autorisation d'un fichier ou d'un dossier sur 755 au lieu de 777 (ou vice versa).
En règle générale, les autorisations 777 sont incroyablement peu protégées et même un pirate amateur peut entrer dans vos fichiers et y introduire un logiciel malveillant.
Pensez à l'hébergement : vérifiez les caractéristiques spécifiques des autorisations avec votre hébergeur, car certains serveurs web utilisent des règles différentes.
2. Configuration incorrecte du fichier .htaccess
Les problèmes de serveur interne sont souvent causés par un fichier .htaccess mal configuré.
En ce qui concerne PrestaShop, les problèmes sont généralement liés aux options de réécriture d'URL et à l'activation de « friendly URLs ».
La syntaxe d'un fichier .htaccess est très stricte et même un caractère ou une commande erronée pourrait provoquer une erreur de serveur interne 500. Par conséquent, depuis l'option « friendly URLs », indiquer « NON » pourrait être une solution (n'oubliez pas d'enregistrer vos modifications).
Nous vous recommandons de sauvegarder votre fichier .htaccess et de le restaurer à partir du back-office ou de désactiver les « friendly URLs ».
3. Temps d'attente épuisé
Chaque serveur web a son propre temps d'attente, qui détermine la durée d'exécution d'un script.
Si la fonction ou le script dépasse ce temps limite, vous recevrez une erreur 500.
Voici les scripts PrestaShop susceptibles de prendre trop de temps à charger :
- Importation de fichiers CSV.
- Fichiers de sauvegarde.
- Chargement des traductions.
- Importations/exportations.
- Régénération de vues miniatures.
Souvent, le temps limite du serveur est de 30 secondes, ce qui est insuffisant pour ces scripts.
Dans ce cas, vous devriez contacter votre hébergeur et lui demander de modifier ce paramètre (au moins temporairement).
Dans le cas de l’importation de fichiers CSV, l’erreur 500 peut parfois être due au dépassement du temps d'exécution maximum et tous les services d'hébergement ne permettent pas de modifier ce paramètre. Le module d’importation CSV PrestaShop vous aidera à mener à bien l’opération car chaque ligne du fichier s'exécutera dans un thread PHP séparé, ce qui, en plus de résoudre l'erreur 500, augmentera la vitesse de l'importation.
4. Modules obsolètes
Il est possible que lorsque vous mettiez à jour votre boutique, par exemple si vous passez de la version 1.6 à la version 1.7, vous rencontriez des modules obsolètes ou incompatibles avec cette nouvelle version de PrestaShop.
Cela peut générer des erreurs 500. Dans ce cas vous devriez revoir tous les addons que vous avez installés, ou au moins ceux qui sont disponibles dans une version plus récente.
Nous vous recommandons de toujours avoir à portée de main (ou enregistrée dans vos favoris) la page officielle de la PrestaShop Marketplace, où vous pourrez obtenir des modules officiels et toujours à jour.
5. Plugins, thèmes ou extensions non compatibles
Que vous utilisiez PrestaShop ou un autre CMS (Wordpress, Shopify), l’installation de plugins, thèmes ou extensions sur des systèmes de gestion de contenu non-adaptés peut déclencher des conflits et créer une erreur interne du serveur.
Si l’erreur 500 s’est déclenchée suite à l’installation de nouveaux plugins, supprimez-les immédiatement et rechargez la page en vidant le cache du navigateur (vous éviterez ainsi de recharger la page avec le même contenu en mémoire).
Que faire si l'erreur 500 persiste sur mon site ou ma page web après ces vérifications ?
Dans ce cas, vous devriez consulter les journaux d'erreurs Apache et PHP.
Bien que parfois fournis par votre hébergeur, vous devrez peut-être les contacter directement pour avoir accès aux fichiers.
« D'autres solutions sont disponibles sur notre forum »
Même si cela vous semble évident, lorsque vous disposez des données spécifiques de PrestaShop concernant l'erreur ou le fichier journal, faites une recherche sur Google (mettez l'accent sur le problème et ajoutez le mot « PrestaShop » à votre recherche).
Vous trouverez de nombreuses informations et tutoriels sur le type d'erreur survenue.
De plus, vous trouverez certainement des discussions sur le forum PrestaShop intitulé « [RÉSOLU] ».
Parcourez-le attentivement et, si après avoir lu ce post, vous n'avez toujours pas réussi à corriger votre erreur, n'hésitez pas : inscrivez-vous sur les forums PrestaShop et demandez de l'aide.
Avec une communauté de plus d'un million de personnes, vous trouverez certainement des réponses à vos questions, avec l'aide d'autres utilisateurs.
Il existe aussi des plans de support officiels de PrestaShop.
Ils vous permettront de nous contacter pour que l'un de nos représentants vous donne les détails dont vous avez besoin pour obtenir de l'aide supplémentaire.
Conclusion sur le code d'erreur 500
Au commencement de cet article, nous vous avions prévenu qu'un code d'erreur HTTP 500 ou erreur de serveur interne n'est pas aussi terrible que ce qu'elle semble être.
Maintenant, vous disposez des bons outils pour corriger l'une des erreurs les plus redoutées parmi les internautes.
Démarrez votre boutique en ligne avec le logiciel e-commerce PrestaShop et poursuivez la vente de vos produits ou services en toute sérénité !