Erreur 500 PrestaShop : suivez le guide !

Par - 21 juin 2013

ShareTweet about this on Twitter0Share on Facebook0Share on Google+3Share on LinkedIn1

Voir les 12 commentaires

internal error

Ça vous est tous déjà arrivé de tomber sur une Erreur 500 en essayant de vous rendre sur cette page web que vous vouliez vraiment consulter. Mais que signifie-elle vraiment et comment résoudre le problème s’il survient sur votre boutique utilisant PrestaShop ?

Comment reconnaitre une erreur 500 ?

Une erreur 500 est une erreur provenant du serveur web qui héberge un site (votre boutique par exemple). Il rencontre un problème : c’est ce que nous appelons une « server-side error ». Malheureusement, c’est une erreur commune causée par des problèmes de configuration des sites, de PHP ou des permissions système.

Les erreurs 500 peuvent se manifester sur votre navigateur (ou ceux des internautes en général) de plusieurs manières. Voici les plus communes, celles dont vous êtes les plus à même de croiser le chemin :

  • « 500 Internal Server Error »

  • « HTTP 500 – Internal Server Error »

  • « Internal Server Error »

  • « HTTP 500 Internal Error »

  • « 500 Error »

  • « HTTP Error 500″

La plupart du temps, ces messages sont accompagnés par une explication vague, qui ne vous aidera pas à comprendre d’où vient le problème. Voici un exemple de page sur laquelle vous pourriez tomber :

Comment résoudre une erreur 500 sur votre boutique ?

Malgré des explications peu claires, vous pouvez toujours avoir plus d’informations sur le problème. Les serveurs web sont très souvent configurés pour cacher les raisons spécifiques. Mais si vous utilisez une boutique PrestaShop et que vous rencontrez cette erreur, il vous suffit d’activer le rapport d’erreurs via votre FTP afin d’y voir plus clair.

Suivant la version de PrestaShop que vous utilisez, voici comment activer le rapport d’erreur de PrestaShop :

De PrestaShop v1.4 à v1.5.2

  1. Ouvrez config/config.inc.php

  2. À la line 29 (ou proche) vous trouverez
    @ini_set('display_errors', 'off');

  3. Changez alors par
    @ini_set('display_errors', 'on');

A partir de PrestaShop v1.5.3

  1. Ouvrez config/defines.inc.php

  2. À la line 28 (ou proche) vous trouverez
    define('_PS_MODE_DEV_', false);

  3. Changez alors par
    define('_PS_MODE_DEV_', true);

Lorsque vous avez autorisé le rapport d’erreurs via votre FTP, vous pouvez de nouveau naviguer sur le front ou back office de votre boutique pour reproduire le problème que vous avez rencontré. Par exemple, si vous ne pouvez pas accéder à votre site à cause d’une erreur 500, rafraichissez la (les) page(s) qui posaient un problème. Vous devriez avoir plus d’informations pour mieux comprendre le souci. Sachez que cette méthode vous permet d’afficher des informations supplémentaires mais ne vous donnera pas d’informations si le problème est lié à PHP.

Comprendre l’erreur

Lorsque vous avez ces informations supplémentaires, vous avez plus de chances de résoudre l’erreur. Commençons par voir les causes fréquentes de ce problème :

  1. Permissions : Souvent, les permissions de vos fichiers sont incorrectement définies. Vous pouvez parfois simplement résoudre le problème en passant la permission du fichier ou du dossier de 777 à 755 (ou vice versa). Les permissions 777 ne sont pas très sécurisées car elles autorisent facilement l’écriture dans les fichiers concernés. Voyez avec votre hébergeur pour en savoir plus sur les permissions de votre serveur et trouver celles qui donneront les accès nécessaires à PrestaShop et à vous-même pour fonctionner.

  2. .htaccess : Vous pouvez parfois recevoir une erreur serveur lorsque votre fichier htaccess est mal configuré. Pour PrestaShop, les raisons principales sont les erreurs de paramètres des URL réécrites ou l’activation des URL simplifiées. La syntaxe du fichier htaccess est très strict, donc une faute sur un caractère peut causer une erreur 500. Pensez à faire une sauvegarde de ce fichier avant de le régénérer dans votre back office ou d’activer les URL simplifiées. En cas de problème, supprimez le htaccess puis retournez dans votre back office pour activer ou désactiver l’URL rewritting et voir si l’erreur persiste.

  3. Temps de réponse serveur dépassé : Tous les serveurs ont un temps de réponse déterminant le temps maximum qu’un script peut s’exécuter. Si la fonction ou le script dépasse ce temps, vous recevrez une erreur 500. Les scripts pouvant prendre le plus de temps dans PrestaShop sont l’import CSV, les sauvegardes, les chargements de traductions et les re-génération d’images. Très souvent, le temps maximum d’exécution est de 30 secondes, ce qui peut être insuffisant pour faire tourner ces scripts. N’hésitez donc pas à contacter votre hébergeur pour changer cette limite, au moins temporairement.

Maintenant que vous avez des éléments de réponse pour comprendre et résoudre le problème, sachez que d’autres solutions sont possibles pour y voir plus clair, notamment en consultant vos logs Apache ou PHP. Ils vous sont normalement fournis par votre hébergeur mais vous aurez parfois besoin de les contacter pour y accéder.

Lorsque vous avez toutes les informations concernant votre erreur, n’hésitez pas à faire une recherche sur notre forum pour trouver la solution et éventuellement poster votre propre demande si vous ne trouvez pas.

Les erreurs 500 ne sont pas aussi graves qu’elles peuvent paraitre et vous êtes maintenant préparés à les affronter. Il ne nous reste plus qu’à vous souhaiter de bonnes ventes !

Recevez des articles similaires dans votre boîte mail!

Inscrivez-vous pour recevoir les dernières actus et astuces e-commerce directement dans votre boîte mail. Je m’inscris

ShareTweet about this on Twitter0Share on Facebook0Share on Google+3Share on LinkedIn1

Voir les 12 commentaires

Commentaires (12)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>