jeudi 23 septembre 2010
PHP memory limit
Par Ben, jeudi 23 septembre 2010 à 14:07 :: [Dédiés] PHP
En cas de problème de mémoire sur un script php, celui-ci remonte un fatal error comme :
error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 6740 bytes)
Voici les solutions possibles :
Consommer moins de mémoire
C’est la meilleur solution lorsque cela est possible.
Augmenter la limite de mémoire dans le fichier php.ini
memory_limit = 32M
Attention il y a plusieurs fichiers php.ini :
* /etc/php5/apache2/php.ini pour les scripts executés via apache * /etc/php5/cli/php.ini pour les script executés depuis une ligne de commande ou une tâche cron
Augmenter la limite de mémoire dans le fichier .htaccess ou dans le vhost
php_value memory_limit 32M
Augmenter la limite de mémoire dans le script en lui même
ini_set('memory_limit', '32M');
Il est préférable de laisser une limite relativement basse dans les fichier php.ini, .htaccess et les vhosts. Généralement entre 8M et 32M, le plus faible est le mieux. Il reste possible d’augmenter la limite uniquement dans les script nécessitant beaucoup de mémoire.