Erreur 500 PrestaShop, c’est quoi ?
C’est une erreur interne du serveur web qui rencontre un souci pour trouver une url. Cette cause est un problème dû à la configuration de php, ou permission système ou encore la configuration du site web.
On la découvre en tombant sur un de ses messages en tapant l’URL de son site web PrestaShop sur son navigateur :
- HTTP 500 – Internal Server Error
- 500 Error
- HTTP Error 500
- Internal Server Error
- HTTP 500 Internal Error
- 500 Internal Server Error
Qui n’a rencontré un jour cette erreur 500 PrestaShop sans se sentir mal devant la page blanche. On se repasse alors en tête les dernières modifications qu’on a pu faire : mise à jour, installation de modules, de thèmes ect…
Pas de panique, on vous explique les raisons pour comprendre et pouvoir corriger facilement votre problème. 🙂
Pré-requis pour corriger une erreur 500 PrestaShop:
1 – Un logiciel FTP comme Filezilla par exemple
Solution pour corriger une erreur 500 PrestaShop
Voici les 4 raisons les plus courantes
1- Le fichier .htaccess:
Dans plus de 80% des cas, le fichier .htaccess est le responsable. Pour corriger, connectez vous en FTP et renommez votre .htaccess en .htaccess-old, puis suivez ce ticket « régénérer .htaccess »
2- Permissions des fichiers:
Si vous avez touché au droit des dossiers ou fichiers (CHMOD), vous pouvez créer sur une erreur 500. Malheureusement, les droits des dossiers et fichiers ne sont pas identiques pour tous les hébergeurs.
Voici un exemple pour OVH, leader francais:
- la racine de votre site doit être obligatoirement en 705 (par défaut par OVH)
- les autres répertoires doivent être au maximum 755
- les scripts php/cgi doivent être au maximum 755
Chez certains hébergeurs, il faut donner « un accès en écriture » à vos dossiers ou fichiers qui se traduit par « faire un CHMOD 755 » ou « en CHMOD en 777 » afin d’installer votre PrestaShop.
Après votre installation, pensez à remettre vos dossiers en 755 ou 775 et pour vos fichiers en 644.
Important: les permissions en 777 ne sont pas sécurisées !
3- Temps de réponse du serveur dépassé:
Sur votre serveur, comme tout serveur en général, un temps de réponse maximum est défini pour l’exécution d’un script ( Exemple: import d’un CSV ou la régénération des images de la boutique.) Cela permet d’éviter que des scripts en boucles infinies saturent le serveur, une fois le temps imparti dépassé, l’affichage d’une erreur 500 apparaît.
Pour corriger, il vous suffit d’augmenter ce temps (30 secondes par défaut), rendez vous dans les paramètres PHP de votre Plesk, Cpanel, ect… et modifier la ligne « max_execution_time », mettre le temps voulu en secondes (Pour 2 minutes, il faudra noter: 120) qui affectera la configuration du fichier php.ini.
Pour information, « max_execution_time » sert à fixer le temps maximal d’exécution d’un script, en secondes. La configuration par défaut est de 30 secondes.
Une fois, votre import CSV ou autre, pensez à remettre à la valeur par défaut pour des raisons de sécurité. (Il sera plus facile pour un hackeur de pirater votre site avec un temps de requête plus long)
Si vous n’avez pas accès à ce réglage, il faudra prendre contact avec votre hébergeur.
4- Mcrypt pas installé sur votre serveur
Si la fonction mcrypt n’est pas actif sur votre serveur, vous aurez alors une erreur 500. Extension mcrypt permet à Prestashop de bénéficier d’un cryptage plus rapide des cookies.
Voici un tutoriel dédié pour savoir comment installer mcrypt pour PrestaShop.
Passer PrestaShop en mode debug pour comprendre l’erreur 500
Allons plus loin, si malgré ces 4 solutions vous avez encore l’erreur 500, il faudra passer votre boutique PrestaShop en mode debug pour faire afficher l’erreur rencontrée.
Pour cela :
Pour PrestaShop de v1.4 à v1.5.2
Editez config/config.inc.php
À la line 29 (ou proche) vous trouverez
[pastacode lang= »markup » manual= »%40ini_set(‘display_errors’%2C%20’off’)%3B » message= » » highlight= » » provider= »manual »/]Changez alors par
[pastacode lang= »markup » manual= »%40ini_set(‘display_errors’%2C%20’on’)%3B » message= » » highlight= » » provider= »manual »/]
A partir de PrestaShop v1.5.3 jusqu’à v1.6.x
Editez config/defines.inc.php
À la line 28 (ou proche) vous trouverez
[pastacode lang= »markup » manual= »define(‘_PS_MODE_DEV_’%2C%20false)%3B » message= » » highlight= » » provider= »manual »/]Changez alors par
[pastacode lang= »markup » manual= »define(‘_PS_MODE_DEV_’%2C%20true)%3B » message= » » highlight= » » provider= »manual »/]
Nous espèrons qu’avec nos conseils, vous avez résolu votre erreur 500 Prestashop. Si toutefois vous ne trouvez toujours pas la réponse à votre erreur, postez un commentaire en expliquant votre cas, nous nous ferons un plaisir de vous aider à réparer votre site.