[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"theme-db":3,"$fKnz2vuX4bZz1LbUTiuFsvSZ3e07l5_5fqNYp4Tzdhi8":22,"$fOKQi_Gb8iXsVyn62O131nG8ZCzQzKDJUojzE-NgEw3s":103,"megamenu":142,"footer-db":198,"header-db":217,"$ffh-PUapc-u7CzNv0P-ETqNA8q1l2DMs5boO9tta2KdA":228},{"theme":4},{"colors":5,"typography":13,"ui":17,"defaultColorMode":21},{"primary":6,"secondary":7,"background":8,"foreground":9,"muted":10,"headerBg":11,"footerBg":12,"topBarBg":9,"topBarText":11},"#4F46E5","#0D9488","#F9FAFB","#111827","#6B7280","#ffffff","#020617",{"fontFamily":14,"fontUrl":15,"baseFontSize":16},"Inter, system-ui, sans-serif","https:\u002F\u002Ffonts.googleapis.com\u002Fcss2?family=Inter:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,700;0,800;0,900;1,400;1,700&display=swap","16px",{"borderRadius":18,"contentWidth":19,"shadow":20},"lg","7xl",true,"light",{"columns":23},[24,40,70,91],{"title":25,"links":26},"Plateforme",[27,31,34,37],{"label":28,"href":29,"external":30},"Offre Starter (2 500 €)","\u002Foffre-starter",false,{"label":32,"href":33,"external":30},"Devenir Ambassadeur","\u002Fambassadeur",{"label":35,"href":36,"external":30},"Modules PrestaShop","\u002Fmodules",{"label":38,"href":39,"external":20},"CodeMyShop.com","https:\u002F\u002Fcodemyshop.com",{"title":41,"links":42},"Le Synedre",[43,46,49,52,55,58,61,64,67],{"label":44,"href":45,"external":30},"L'histoire","\u002Fsynedre",{"label":47,"href":48,"external":30},"Constitution","\u002Fsynedre\u002Fconstitution",{"label":50,"href":51,"external":30},"L'équipe","\u002Fequipe",{"label":53,"href":54,"external":30},"Le réacteur en direct","\u002Freacteur",{"label":56,"href":57,"external":30},"Le Drill (entraînement)","\u002Fdrill",{"label":59,"href":60,"external":30},"Protocole de réunion","\u002Fsynedre\u002Freunion",{"label":62,"href":63,"external":30},"Les agents IA","\u002Fagents-ia",{"label":65,"href":66,"external":30},"La Conduite","\u002Fsynedre\u002Fconduite",{"label":68,"href":69,"external":30},"Charte plateforme","\u002Fsynedre\u002Fcharte",{"title":71,"links":72},"Ressources",[73,76,79,82,85,88],{"label":74,"href":75,"external":30},"Blog","\u002Fblog",{"label":77,"href":78,"external":30},"Academy","\u002Facademy",{"label":80,"href":81,"external":30},"Dictionnaire","\u002Fdictionnaire",{"label":83,"href":84,"external":30},"Expertise PrestaShop","\u002Fexpertise",{"label":86,"href":87,"external":30},"Flywheel","\u002Fflywheel",{"label":89,"href":90,"external":30},"Manifeste","\u002Fmanifeste",{"title":92,"links":93},"À propos",[94,97,100],{"label":95,"href":96,"external":30},"Alexandre Carette","\u002Fa-propos",{"label":98,"href":99,"external":30},"Dossier de presse","\u002Fpresse",{"label":101,"href":102,"external":30},"Contact","\u002Fcontact",{"title":104,"slug":105,"metaDescription":106,"category":107,"tags":108,"difficulty":115,"psVersions":116,"content":120,"faq":121,"tldr":137,"readingTime":138,"generatedAt":139,"publishDate":139,"relatedArticles":140,"sourceCategory":141},"Résoudre l'erreur memory_limit PHP après installation d'un thème PrestaShop","erreur-memory-limit-php-installation-theme-prestashop","Erreur memory_limit après installation d'un thème PrestaShop ? Diagnostic complet, configuration php.ini optimale et solutions durables pour PHP 7\u002F8.","configuration",[109,110,111,112,113,114],"memory_limit","php.ini","thème","configuration serveur","performances","PHP","debutant",[117,118,119],"1.6","1.7","8.x","\u003Ch2>Comprendre l'erreur memory_limit lors de l'installation d'un thème\u003C\u002Fh2>\n\u003Cp>L'installation d'un thème PrestaShop est l'une des opérations les plus gourmandes en mémoire PHP. Le CMS doit décompresser l'archive, parser les fichiers de configuration, générer les miniatures d'images et compiler les templates Smarty. Quand la limite mémoire allouée à PHP est insuffisante, le processus s'interrompt brutalement avec une erreur du type :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-\">\nFatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 65536 bytes)\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Ce problème est particulièrement fréquent sur les hébergements mutualisés où la valeur \u003Ccode>memory_limit\u003C\u002Fcode> est bridée par défaut à 128 Mo, voire 64 Mo.\u003C\u002Fp>\n\u003Ch2>Étape 1 : Diagnostiquer la configuration PHP actuelle\u003C\u002Fh2>\n\u003Cp>Avant de modifier quoi que ce soit, il faut connaître précisément la configuration de votre serveur. La méthode la plus fiable consiste à créer un fichier de diagnostic temporaire.\u003C\u002Fp>\n\u003Ch3>Créer un fichier phpinfo\u003C\u002Fh3>\n\u003Cp>Créez un fichier \u003Ccode>phpinfo.php\u003C\u002Fcode> à la racine de votre PrestaShop avec le contenu suivant :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-php\">\n&lt;?php\nphpinfo();\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Accédez-y via votre navigateur : \u003Ccode>https:\u002F\u002Fwww.votre-boutique.com\u002Fphpinfo.php\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Cette page affiche l'intégralité de la configuration PHP active. Recherchez les lignes suivantes :\u003C\u002Fp>\n\u003Ctr>\u003Cth>Directive\u003C\u002Fth>\u003Cth>Valeur recommandée\u003C\u002Fth>\u003Cth>Rôle\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>`memory_limit`\u003C\u002Fth>\u003Cth>512M minimum\u003C\u002Fth>\u003Cth>Mémoire maximale par script\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>`max_execution_time`\u003C\u002Fth>\u003Cth>300\u003C\u002Fth>\u003Cth>Durée maximale d'exécution (secondes)\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>`upload_max_filesize`\u003C\u002Fth>\u003Cth>64M\u003C\u002Fth>\u003Cth>Taille maximale d'upload\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Cth>`post_max_size`\u003C\u002Fth>\u003Cth>64M\u003C\u002Fth>\u003Cth>Taille maximale des données POST\u003C\u002Fth>\u003C\u002Ftr>\n\u003Cblockquote>\u003Cp>\u003Cstrong>Sécurité : supprimez impérativement le fichier \u003Ccode>phpinfo.php\u003C\u002Fcode> après consultation.\u003C\u002Fstrong> Ce fichier expose des informations sensibles sur votre serveur (chemins, versions, modules activés) qui pourraient être exploitées par un attaquant.\u003C\u002Fp>\u003C\u002Fblockquote>\n\u003Ch3>Alternative en ligne de commande (accès SSH)\u003C\u002Fh3>\n\u003Cp>Si vous disposez d'un accès SSH, vous pouvez obtenir la valeur directement :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">\nphp -i | grep memory_limit\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Attention : la configuration CLI peut différer de celle du serveur web (Apache\u002FNginx). Préférez le fichier phpinfo via le navigateur pour obtenir la valeur réellement appliquée.\u003C\u002Fp>\n\u003Ch2>Étape 2 : Augmenter le memory_limit PHP\u003C\u002Fh2>\n\u003Cp>Plusieurs méthodes existent selon votre type d'hébergement. Testez-les dans l'ordre.\u003C\u002Fp>\n\u003Ch3>Méthode 1 : Via le fichier php.ini (serveur dédié \u002F VPS)\u003C\u002Fh3>\n\u003Cp>Localisez votre fichier \u003Ccode>php.ini\u003C\u002Fcode> :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">\nphp -i | grep \"Loaded Configuration File\"\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Modifiez les directives :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-ini\">\nmemory_limit = 512M\nmax_execution_time = 300\nupload_max_filesize = 64M\npost_max_size = 64M\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Redémarrez ensuite le service web :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">\n# Apache\nsudo systemctl restart apache2\n\n# Nginx + PHP-FPM\nsudo systemctl restart php8.2-fpm\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Méthode 2 : Via .htaccess (hébergement mutualisé Apache)\u003C\u002Fh3>\n\u003Cp>Ajoutez ces lignes au début du fichier \u003Ccode>.htaccess\u003C\u002Fcode> à la racine de PrestaShop :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-apache\">\nphp_value memory_limit 512M\nphp_value max_execution_time 300\nphp_value upload_max_filesize 64M\nphp_value post_max_size 64M\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cblockquote>\u003Cp>Cette méthode ne fonctionne que si votre hébergeur autorise les overrides PHP via \u003Ccode>.htaccess\u003C\u002Fcode> (module Apache \u003Ccode>mod_php\u003C\u002Fcode>). Elle est ignorée avec PHP-FPM.\u003C\u002Fp>\u003C\u002Fblockquote>\n\u003Ch3>Méthode 3 : Via un fichier php.ini local\u003C\u002Fh3>\n\u003Cp>Certains hébergeurs (OVH, Ionos, o2switch) permettent de placer un fichier \u003Ccode>php.ini\u003C\u002Fcode> ou \u003Ccode>.user.ini\u003C\u002Fcode> à la racine du site :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-ini\">\nmemory_limit = 512M\nmax_execution_time = 300\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch3>Méthode 4 : Directement dans PrestaShop\u003C\u002Fh3>\n\u003Cp>PrestaShop tente de surcharger la limite mémoire au démarrage. Vous pouvez forcer la valeur dans le fichier \u003Ccode>config\u002Fdefines.inc.php\u003C\u002Fcode> :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-php\">\n\u002F* PrestaShop 1.7 \u002F 8.x *\u002F\n@ini_set('memory_limit', '512M');\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Cette méthode est un dernier recours : elle ne fonctionne que si le \u003Ccode>memory_limit\u003C\u002Fcode> serveur n'est pas verrouillé par l'hébergeur.\u003C\u002Fp>\n\u003Ch2>Étape 3 : Optimiser la configuration PHP pour PrestaShop\u003C\u002Fh2>\n\u003Cp>Au-delà du simple \u003Ccode>memory_limit\u003C\u002Fcode>, voici les réglages \u003Ccode>php.ini\u003C\u002Fcode> recommandés pour PrestaShop 8.x :\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-ini\">\n; Mémoire et exécution\nmemory_limit = 512M\nmax_execution_time = 300\nmax_input_time = 300\nmax_input_vars = 10000\n\n; Upload\nupload_max_filesize = 64M\npost_max_size = 64M\n\n; OPcache (indispensable en production)\nopcache.enable = 1\nopcache.memory_consumption = 256\nopcache.max_accelerated_files = 20000\nopcache.revalidate_freq = 60\n\n; Sessions\nsession.auto_start = 0\nsession.use_only_cookies = 1\n\n; Sécurité\nexpose_php = Off\nallow_url_fopen = On\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Le paramètre \u003Ccode>max_input_vars\u003C\u002Fcode> est souvent négligé mais crucial : PrestaShop génère des formulaires avec des centaines de champs (traductions, déclinaisons). Une valeur trop basse provoque des pertes silencieuses de données.\u003C\u002Fp>\n\u003Ch2>Étape 4 : Vérifier les ressources du serveur\u003C\u002Fh2>\n\u003Cp>Si le \u003Ccode>memory_limit\u003C\u002Fcode> est déjà élevé (512M+) et que l'erreur persiste, le problème est ailleurs :\u003C\u002Fp>\n\u003Cul>\n\u003Cli>**RAM physique insuffisante** : un VPS avec 1 Go de RAM ne peut pas allouer 512 Mo à chaque processus PHP. Vérifiez avec `free -h`.\u003C\u002Fli>\n\u003Cli>**Trop de processus simultanés** : chaque visiteur consomme un worker PHP. Adaptez `pm.max_children` dans la configuration PHP-FPM.\u003C\u002Fli>\n\u003Cli>**Thème mal optimisé** : certains thèmes embarquent des images non compressées ou exécutent des opérations lourdes à l'installation. Préférez les thèmes certifiés sur PrestaShop Addons.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Vérification rapide de la RAM disponible\u003C\u002Fh3>\n\u003Cpre>\u003Ccode class=\"language-bash\">\n# Mémoire totale et disponible\nfree -h\n\n# Consommation par processus PHP\nps aux --sort=-%mem | grep php | head -5\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch2>Bonnes pratiques pour éviter les problèmes mémoire\u003C\u002Fh2>\n\u003Col>\n\u003Cli>**Activez OPcache** : réduit la consommation mémoire de 30 à 50 % en cachant le bytecode PHP.\u003C\u002Fli>\n\u003Cli>**Désactivez le mode debug en production** : le mode debug de PrestaShop (`_PS_MODE_DEV_`) multiplie la consommation mémoire.\u003C\u002Fli>\n\u003Cli>**Régénérez les miniatures par lot** : après installation d'un thème, utilisez la régénération par lot dans *Design > Images* plutôt que de tout régénérer d'un coup.\u003C\u002Fli>\n\u003Cli>**Surveillez les modules** : certains modules mal codés provoquent des fuites mémoire. Désactivez-les un par un pour identifier le coupable.\u003C\u002Fli>\n\u003Cli>**Mettez PHP à jour** : PHP 8.2\u002F8.3 consomme significativement moins de mémoire que PHP 7.x pour les mêmes opérations.\u003C\u002Fli>\n\u003C\u002Ful>",[122,125,128,131,134],{"q":123,"a":124},"Quelle valeur de memory_limit est recommandée pour PrestaShop 8 ?","La valeur recommandée est 512 Mo minimum pour PrestaShop 8.x. Pour les boutiques avec un catalogue volumineux (plus de 5 000 produits) ou de nombreux modules actifs, 768 Mo voire 1 Go peuvent être nécessaires. La valeur par défaut de PHP (128 Mo) est insuffisante pour la plupart des opérations d'administration PrestaShop.",{"q":126,"a":127},"Comment vérifier le memory_limit actuel de mon serveur PrestaShop ?","Créez un fichier phpinfo.php contenant \u003C?php phpinfo(); ?> à la racine de votre boutique, accédez-y via votre navigateur et recherchez la ligne memory_limit. Pensez absolument à supprimer ce fichier après consultation car il expose des informations sensibles sur votre serveur. En SSH, la commande php -i | grep memory_limit fonctionne aussi mais peut afficher une valeur différente de celle du serveur web.",{"q":129,"a":130},"Pourquoi l'erreur memory_limit apparaît uniquement lors de l'installation d'un thème ?","L'installation d'un thème est l'une des opérations les plus lourdes de PrestaShop : décompression de l'archive, parsing XML, copie de centaines de fichiers, régénération des miniatures d'images dans tous les formats définis et compilation des templates Smarty. Cette combinaison peut facilement dépasser 256 Mo de mémoire, alors que la navigation quotidienne du site n'en consomme que 64 à 128 Mo.",{"q":132,"a":133},"Le memory_limit ne change pas malgré mes modifications, que faire ?","Plusieurs causes possibles : votre hébergeur verrouille la valeur au niveau serveur (contactez le support), vous modifiez le mauvais fichier php.ini (il en existe souvent plusieurs : CLI, Apache, FPM), ou le cache de configuration n'est pas vidé. Vérifiez quel php.ini est réellement chargé via phpinfo(), et redémarrez le service PHP après toute modification. Sur hébergement mutualisé, privilégiez la méthode .user.ini plutôt que .htaccess.",{"q":135,"a":136},"Peut-on mettre memory_limit à unlimited (-1) sur PrestaShop ?","Techniquement oui, mais c'est fortement déconseillé en production. Un memory_limit illimité masque les fuites mémoire et peut provoquer un crash complet du serveur si un script consomme toute la RAM disponible. Préférez une valeur explicite (512M ou 1G) qui protège votre serveur tout en laissant suffisamment de marge à PrestaShop.","L'erreur memory_limit lors de l'installation d'un thème PrestaShop se résout en augmentant la directive à 512 Mo minimum via php.ini, .htaccess ou .user.ini, après avoir diagnostiqué la configuration actuelle avec phpinfo().",5,"2026-03-21T15:47:12.000Z",[],"Utilisation de PrestaShop : configuration et difficultés",{"items":143},[144,153,159,165,173,181,186,192],{"id":145,"type":146,"label":147,"href":84,"icon":149,"description":149,"badge":149,"groupTitle":149,"style":149,"gridColumns":149,"cssClass":149,"psCategoryId":149,"showPsChildren":30,"position":150,"children":151,"psChildren":152},41,"link",{"fr":148},"Expertise",null,0,[],[],{"id":154,"type":146,"label":155,"href":75,"icon":149,"description":149,"badge":149,"groupTitle":149,"style":149,"gridColumns":149,"cssClass":149,"psCategoryId":149,"showPsChildren":30,"position":156,"children":157,"psChildren":158},42,{"fr":74},1,[],[],{"id":160,"type":146,"label":161,"href":36,"icon":149,"description":149,"badge":149,"groupTitle":149,"style":149,"gridColumns":149,"cssClass":149,"psCategoryId":149,"showPsChildren":30,"position":162,"children":163,"psChildren":164},43,{"fr":35},2,[],[],{"id":166,"type":146,"label":167,"href":169,"icon":149,"description":149,"badge":149,"groupTitle":149,"style":149,"gridColumns":149,"cssClass":149,"psCategoryId":149,"showPsChildren":30,"position":170,"children":171,"psChildren":172},44,{"fr":168},"Outils IA","\u002Foutils-ia",3,[],[],{"id":174,"type":146,"label":175,"href":29,"icon":149,"description":149,"badge":149,"groupTitle":149,"style":177,"gridColumns":149,"cssClass":149,"psCategoryId":149,"showPsChildren":30,"position":178,"children":179,"psChildren":180},45,{"fr":176},"Offre Starter ✨",{"highlight":20},4,[],[],{"id":182,"type":146,"label":183,"href":78,"icon":149,"description":149,"badge":149,"groupTitle":149,"style":149,"gridColumns":149,"cssClass":149,"psCategoryId":149,"showPsChildren":30,"position":138,"children":184,"psChildren":185},46,{"fr":77},[],[],{"id":187,"type":146,"label":188,"href":96,"icon":149,"description":149,"badge":149,"groupTitle":149,"style":149,"gridColumns":149,"cssClass":149,"psCategoryId":149,"showPsChildren":30,"position":189,"children":190,"psChildren":191},47,{"fr":92},6,[],[],{"id":193,"type":146,"label":194,"href":102,"icon":149,"description":149,"badge":149,"groupTitle":149,"style":149,"gridColumns":149,"cssClass":149,"psCategoryId":149,"showPsChildren":30,"position":195,"children":196,"psChildren":197},48,{"fr":101},7,[],[],{"footer":199},{"theme":200,"description":149,"hours":149,"logo":201,"contact":204,"social":205,"bottomBar":215,"newsletter":216},"dark",{"src":202,"href":203,"alt":95},"\u002Flogo-ac.svg","\u002F",{"email":149,"phone":149,"address":149,"cta":149},[206,209,212],{"platform":207,"href":208,"label":207},"linkedin","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Falexandre-carette\u002F",{"platform":210,"href":211,"label":210},"malt","https:\u002F\u002Fwww.malt.fr\u002Fprofile\u002Falexandrecarette",{"platform":213,"href":214,"label":213},"github","https:\u002F\u002Fgithub.com\u002Fprest4cafe",{"copyright":149},{"show":30,"title":149,"description":149,"placeholder":149,"ctaLabel":149,"consentText":149},{"header":218},{"logo":219,"topBar":222,"contactEmail":225,"features":226,"navBar":149},{"src":202,"alt":220,"text":95,"href":203,"class":221},"Alexandre Carette — Architecte E-commerce Souverain","h-10 w-10",{"message":149,"showLanguages":30,"align":223,"languages":224},"left",[],"contact@alexandrecarette.fr",{"showSearch":30,"showWishlist":30,"showLogin":20,"showContact":30,"showCart":30,"showBlogLink":30,"showContactLink":30,"showGiftcardLink":30,"showStoresLink":30,"stickyHeader":20,"headerLayout":227},"inline",{"academy":229,"blog":230,"expertise":241},[],[231,235,238],{"title":232,"url":233,"score":156,"type":234},"PrestaShop headless avec Nuxt 3 : pourquoi séparer back et front","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-separation-front-back","blog",{"title":236,"url":237,"score":156,"type":234},"PrestaShop headless : Nuxt 3, pas Next.js — le choix souverain","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fprestashop-headless-nuxt-nextjs-souverainete",{"title":239,"url":240,"score":156,"type":234},"Sylius rachète PrestaShop : ce que ça change pour vous","\u002Fblog\u002Fprestashop\u002Farchitecture\u002Fsylius-rachat-prestashop-headless-souverainete",[]]