Blog PrestaShop : toutes les ressources pour votre boutique en ligne

De la création à l'amélioration, découvrez les mises à jour, nouveautés e-commerce, discussions et meilleurs conseils de la PrestaTeam pour améliorer votre site.

Blog PrestaShop : toutes les ressources pour votre boutique en ligne
 

< Retour à l'accueil du Blog

Erreur 500 PrestaShop : suivez le guide !

Ç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 :

Internal error server

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 !

  1. Author: Cyril

    Date: Juin 22, 2013 à 7:57 am

    Bonjour, pourriez-vous faire un article sur la configuration optimale (et non minimum) pour faire correctement tourner prestashop?

    Merci par avance.

  2. Author: eolia

    Date: Juin 23, 2013 à 7:42 am

    Pour info et pour ceux qui sont chez OVH en mutualisé cette astuce ne fonctionne pas, OVH ayant la main prioritaire (dès que l’erreur est rencontrée la page erreur 500 s’affiche empêchant le moindre message d’erreur).
    Il faut alors consulter vos errors logs sur votre panneau d’administration OVH.
    Parmi les erreurs, la plus courante concerne les droits chmod : OVH ne tolère pas les 0777 et mal les 0755. Vos répertoires doivent être en 0705 et vos fichiers en 0604.
    Pensez également à préciser dans votre .htacces la version PHP à utiliser pour cet hébergeur (SetEnv PHP_VER 5 par exemple)

  3. Author: karopresta

    Date: Juin 27, 2013 à 4:31 pm

    Avec un serveur mutualisé OVH (qui répond à la hotline qu’il faut bien sur passer en serveur dédié…) voici la solution :

    Prestashop 1.5.4.1 chez OVH (mutualisé)

    Via FTP
    Remplacer ce que l’on a dans le fichier .htaccess à la racine par

    SetEnv REGISTER_GLOBALS 0
    SetEnv ZEND_OPTIMIZER 1
    SetEnv MAGIC_QUOTES 1
    SetEnv PHP_VER 5

    Créer un fichier php.ini avec NotPad avec juste: max_input_vars = 12000
    Mettre ce fichier dans le dossier ADMIN

    • Ma configuration .htaccess pour un hébergement mutualisé chez OVH :

      # Utilisation de la dernière version PHP 5.3 stable
      SetEnv PHP_VER 5_3

      # OBLIGATOIRE pour la securité de votre site :
      SetEnv REGISTER_GLOBALS 0
      SetEnv MAGIC_QUOTES 0
      SetEnv ALLOW_URL_INCLUDE 0

      # Pour autoriser Prestashop à diffuser les actualités sur votre back-office
      # Mettre à 0 si vous voulez une sécurité maximale
      SetEnv ALLOW_URL_FOPEN 1

      # Désactiver l'option multivues d'Apache permet un total contrôle de la réécriture d'URL.
      Options -MultiViews

      # Correction d'un bug de réécriture d'URL des images par défaut pour Prestashop 1.4.*
      RewriteRule ^([a-z]{2}-default-[a-z]+)/.*.jpg$ /img/p/$1.jpg [L]

  4. Author: manit4c

    Date: Juillet 5, 2013 à 7:37 am

    Il faut épingler cet article dans les forum, ça évitera un dizaine de questions par jours :)

  5. Merci, info très utile à mettre en place rapidement!!

  6. bonjour et merci beaucoup pour ces precisions!

    J’expose ici ma question et je m’excuse d’avance de ne pas éviter les dizaines de questions par jours (voir le com de dixit4c) mais j’ai besoin de votre aide.

    la description de mon erreur 500 est la suivante:

    Fatal error: Call to a member function createData() on a non-object in /home/www/mecaspunky/mecaspunky/classes/module/Module.php on line 143

    sur cette fameuse ligne 143 j’ai:

    $this->smarty = $this->context->smarty->createData($this->context->smarty);

    quelqu’un pourrais t’il me dire ce que je dois modifier? (j’ai déjà vidé le cache)

    d’avance merci

  7. Pingback : Page blanche et bonnes pratiques pour vos projets PrestaShop » DevNet – Ressources développement web

Laisser une réponse

Votre adresse email ne sera pas publiée Les champs obligatoires sont marqués avec des *

*

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