Forum pour les sujets divers sur le module PrestaShop PrestaPricing »
[Tips]3 méthodes pour augmenter la limite de mémoire allouée aux scripts PHP
Auteur | Message |
---|---|
Sitolog Inscrit le : 04/12/2011 Messages : 520 |
Publié : 27/06/2012 19:28:32 "Citer" Contexte: Certaines de vos pages du backoffice de Prestashop plante sans raison connue, ou encore le téléchargement d'images depuis PrestaPricing ne fonctionne pas, retournant dans la fenêtre de trace (jaune) l'insulte suivante: Quote : (le chiffre 94371840 pouvant varier)Fatal error: Allowed memory size of 94371840 bytes exhausted (tried to allocate etc... Il s'agit d'un plantage du à un dépassement du plafond de mémoire allouée au script PHP, coté serveur. Pour y remédier, il faut augmenter la limite mémoire et il existe aux moins trois méthodes: Méthode 1: Modifier le PHP.INI, si vous y avez accès, ce qui est rarement le cas sur un hébergement mutualisé. La syntaxe est la suivante, par exemple pour passer la limite à 200 Mb: Code : memory_limit = 200M ; Attention à ne pas fixer une limite trop haute avec cette méthode. En effet, vous permettez l’exécution de gros script ou grosses requêtes SQL sur tout votre site, permettant à des requêtes malveillantes de récupérer plus de données. Méthode 2: Modifier le .htaccess, si possible celui qui se trouve directement dans le dossier ou se trouve le script qui plante. La syntaxe est la suivante: Code : php_value memory_limit 200M A noter que j'ai essayé cette méthode sans succès avec Prestashop. Suite à cette modif, PreStaPricing par exemple refusait de se connecter. Méthode 3: Modifier le script php lui même, pour que la modification de plafond ne soit effective que lors de l'exécution de ce script. La syntaxe est alors la suivante: Code : ini_set(‘memory_limit’,’200M’); Je conseille cette dernière méthode aux deux autres, surtout lorsque vous avez besoin d'une limite très haute, temporairement. Par exemple dans le cas d'un script de gestion de gros fichiers (images). C'est en particulier cette 3ieme méthode qu'il faut utiliser si vous avez cette erreur lors de l'upload d'images avec PrestaPricing. Rajoutez alors cette ligne de code, tout en haut des deux fichiers images_upload_resizing.php et images_category_upload_resizing.php du dossier /modules/MPRApplicationConnect. A noter que cela sera déjà fait dans la prochaine version de ce module (V2.1). Crdlt Franck |