MemoirePHP
Un article de Base de connaissances Pascalex.
Mémoire pour les scripts PHP
Il peut arriver, spécialement quand vous utilisez certains CMS un peu gourmands comment postNuke, Mambo ou autres, qu'apparaissent des messages d'erreur du genre :
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 46080 bytes) in...
Là si vous aviez un simple hébergement mutualisé, ça serait la galère parce qu'il faudrait faire appel à votre hébergeur pour espérer faire changer cette valeur vers le haut. Et bien grâce à la puissance du VPS, plus de problèmes.
Il vous suffit d'éditer le fichier /etc/php.ini directement depuis votre gestionnaire de fichiers dans votre console de gestion : onglet "Serveur", menu "Gestion du serveur", élément "Gestionnaire de fichiers", vous cliquez sur le dossier "/etc" puis vous cochez la case devant le fichier "php.ini" avant de cliquer en bas de la liste sur le bouton "Editer". Attention il y a beaucoup de fichiers dans ce dossier donc vous serez certainement obligé de tourner quelques pages avant de voir le fichier php.ini. L'astuce du jour : quand vous arrivez dans le gestionnaire de fichier vous tapez "/etc/php.ini" dans la boîte de recherche en haut et "Go", vous avez votre fichier tout seul.
Une fois le fichier édité devant vos yeux, descendez environ au quart du fichier et vous trouverez une section intitulée "Resource Limits" avec la ligne suivante :
memory_limit = 8M ; Maximum amount of memory a script may consume (8MB)
Cette ligne indique que par défaut, PHP est configuré avec seulement 8 mégaoctets de mémoire. C'est peu... Trop peu ? Alors changez le 8 en ce que vous voulez, préférablement un autre multiple de 8. Mon conseil : 16 c'est généralement suffisant, 32 c'est mieux pour être à l'aise, 64 c'est généralement beaucoup (trop?) et à moins d'utiliser un CMS comme Typo3 (qui est particulièrement violent avec la mémoire) je n'en vois pas l'intérêt.
Une fois la valeur modifiée, cliquez sur "OK" pour enregistrer, et ensuite je vous conseille de redémarrer votre serveur Apache pour que cette modification soit effectivement prise en compte : toujours dans "Serveur>Gestion du Serveur" cliquez sur l'élément de menu "Serveur web", puis à droite sur le bouton "Redémarrer". Attendez quelques secondes pour lui laisser le temps de redémarrer et c'est parti. Réexécutez l'action à problème et... pfuit, plus de problème !
La deuxième astuce du jour (un peu comme le deuxième effet kiss cool, mais en moins rafraichissant pour l'haleine), ce fichier php.ini est bourré de petites choses intéressantes alors ce petit article très bien fait sur ZDNet vous apprendra plein de choses. Et la deuxième partie n'est pas mal non plus.
