Comment résoudre un problème de chargement (pop-up ou contenu) ?
Si vous obtenez une erreur lors du chargement d'un contenu, ou lors de la génération d'un fichier, voici comment procéder pour nous transmettre le motif exact de l'erreur et pour que nous puissions vous aider au mieux et dans les meilleurs délais.
Veuillez s'il vous plaît prendre soin de lire les étapes suivantes DANS L'ORDRE et surtout de NE PAS oublier d'activer le mode "dev" (aussi appelé mode "débug") afin que nous puissions vous aider au mieux et dans les plus brefs délais.
Tout d'abord il va falloir que vous activiez le mode "dev" (mode debug) afin d'afficher clairement la / les cause(s) de l'erreur.
Pour ce faire :
Si votre version de PrestaShop est 1.5 ou 1.6 :
Allez dans le dossier d'installation de votre boutique PrestaShop (via votre FTP), puis dans le dossier "config". Ouvrez le fichier "defines.inc.php" avec un éditeur de texte comme Notepad ++ (gratuit) et en haut du fichier cherchez la commande suivante :
define('_PS_MODE_DEV_', false);
Changez la valeur "false" pour "true" et enregistrez.
Si votre version de PrestaShop est 1.7 :
Dans le back office de votre boutique, allez dans :
"Paramètres avancés" -> "Performances" -> section "Mode debug". Sélectionnez "oui" pour l'option "Mode debug" :
N'oubliez pas d'enregistrer.
Lorsque l'erreur se produit, normalement vous devez obtenir une page blanche avec (ou sans) un texte indiquant une erreur :
S'il s'agit d'une erreur de limitation serveur ("max_execution_time" ou "memory_limit"), vous aurez ce type de message :
ou
Dans ce cas, rendez-vous à la section "Comment résoudre un problème de limitation serveur" de cette FAQ pour savoir comment résoudre le problème.
Sinon, ce texte n'est pas assez détaillé pour vraiment comprendre la cause de l'erreur. C'est pour cela que vous devez activer le mode "dev" (ou mode debug), voir section précédente.
Après activation du mode debug, réactualisez la page pour avoir le détail de l'erreur :
Faites un imprime-écran de l'erreur et envoyez-le nous via notre formulaire de contact, nous vous dirons de quoi il s'agit.
S'il s'agit d'une erreur lors d'une requête Ajax (Internal Ajax error) comme dans l'exemple ci-dessous :
Faites un clic droit sur la page et sélectionnez "inspecter" :
La console d'outil de développement s'ouvre. Cliquez sur l'onglet "Network".
En gardant la console ouverte, régénérez l'erreur (par exemple s'il s'agit d'une erreur lors de la génération d'un fichier XML, cliquez de nouveau sur le bouton de génération du fichier). Dans l'onglet "Name", cliquez sur le lien qui apparaît (il correspond à la requête Ajax que vous venez de générer) :
Dans l'onglet "Previews" vous obtenez le descriptif de l'erreur :
Si vous constatez qu'il s'agit d'une erreur de limitation serveur (du type "Fatal error: Maximum execution time" ou "Fatal error: Allowed memory size"), allez à la section "Comment résoudre un problème de limitation serveur" de cette FAQ pour savoir comment résoudre le problème. Sinon, faites un imprime-écran de l'erreur et envoyez-le nous via notre formulaire de contact, nous vous dirons de quoi il s'agit.
Dans le cas d'un serveur dédié :
Dans la configuration votre serveur, augmentez les valeurs de directives "max_execution_time" et / ou "memory_limit" jusqu'à ne plus avoir l'erreur.
Vous pouvez par exemple mettre 1 heure de temps d'exécution (max_execution_time=3600) et 1 GB de mémoire (memory_limit=1024M). Ceci n'est qu'un exemple. Les valeurs indiquées ici sont assez hautes, vous pouvez démarrer avec elles puis diminuer progressivement, jusqu'à ce que vous atteigniez la limite la plus basse acceptable.
Dans le cas d'un serveur mutualisé :
Si vous êtes sur un serveur mutualisé, vous n'avez normalement pas la possibilité d'overrider (modifier) la configuration du serveur.
Vous pouvez par contre normalement aller dans le dossier d'installation de votre boutique PrestaShop (via votre FTP) et modifier le fichier de configuration :
Ouvrez le fichier /config/config.inc.php de PrestaShop et ajoutez ces 2 lignes de codes là :
@ini_set('max_execution_time', 3600); // 1 heure
@ini_set('memory_limit', '1024M'); // 1 gigabyte
On a entré 1 heure pour le temps d'exécution maximal et 1 GB pour la mémoire maximale allouée, mais ceci n'est qu'un exemple. Les valeurs indiquées ici sont assez hautes, vous pouvez démarrer avec elles puis diminuer progressivement, jusqu'à ce que vous atteigniez la limite la plus basse acceptable.
Sinon, vous pouvez toujours contacter votre hébergeur afin de lui demander de modifier les valeurs du temps d'exécution limite et / ou de la mémoire utilisée directement sur le serveur.