14 votes

Comment augmenter la limite de mémoire en ligne de commande pour PHP avec MAMP PRO ?

J'ai édité chaque php.ini sur mon Mac (du moins tous ceux trouvés par "locate") et je ne parviens toujours pas à augmenter les memory_limit pour PHP.

J'utilise MAMP PRO et j'exécute PHP scripts dans le terminal.

Comment résoudre ce problème ?

16voto

dbasnett Points 673

Au lieu de deviner quel php.ini vous devez modifier, exécutez cette commande pour localiser le fichier :

php -r 'phpinfo();' | grep 'php.ini'

Bien que j'utilise MAMP PRO, par défaut mes commandes PHP en ligne de commande ne sont pas exécutées en utilisant leur copie de PHP. Dans mon cas, le fichier est trouvé à l'adresse suivante /etc/php.ini

Une fois que vous avez localisé le fichier, suivez les instructions de toutes les autres réponses pour modifier le paramètre memory_limit :

memory_limit = 256M

4voto

dmg Points 56

De http://drupal.org/node/66187 (drupal n'est peut-être pas adapté à vos besoins, mais leur site contenait une bonne explication - je voulais en faire la source pour vous, et leur en donner le crédit).

Par défaut, MAMP fixe la limite de mémoire qu'un script peut utiliser à 8 Mo, ce qui correspond à la valeur par défaut de PHP. En regardant le fichier php.ini-recommandé de PHP, cette limite de mémoire est normalement fixée à 128 Mo. Pour ajuster cette quantité, ouvrez le fichier php.ini dans un éditeur de texte et modifiez la ligne suivante (environ à la ligne 232) :

memory_limit = 8M ; Quantité maximale de mémoire qu'un script peut consommer (8MB)

Emplacements des fichiers PHP.ini :

/Applications/MAMP/conf/php4/php.ini
/Applications/MAMP/conf/php5/php.ini
Dans MAMP PRO, ne modifiez pas directement le fichier car il sera recréé à chaque démarrage du serveur. Veuillez plutôt modifier le modèle approprié (menu Fichier > Modifier le modèle > ...).

Même avec des limites de mémoire PHP plus importantes, vous pouvez obtenir des erreurs de dépassement de délai en essayant d'importer de grandes bases de données Drupal dans MySQL. Ces problèmes sont discutés en détail ailleurs en ce qui concerne le cache et le cache des vues. En général, la solution consiste à vider le cache de Drupal avant d'importer/exporter des bases de données vers/depuis MySQL.

2voto

pontius Points 1

Pour moi, j'ai fait ce qui suit :

Modifier le /Applications/MAMP/conf/php5.4.4/php.ini

et

php.ini.temp

pour être :

memory_limit = 128M      ; Maximum amount of memory a script may consume (8MB)

Ensuite, dans le finder, il suffit de mettre les fichiers php.ini et php.ini.temp en lecture seule pour tous les utilisateurs. De cette façon, MAMP ne peut pas les écraser avec des fichiers par défaut. Redémarrez le serveur et vérifiez votre phpinfo.

1voto

mdahlman Points 5700

Après avoir cherché pendant un certain temps, j'ai trouvé quelque chose qui fonctionne pour moi :

# backup original php.ini
sudo mv /usr/bin/php /usr/bin/php.bkp

# create a symlink from MAMP's php.ini in /usr/bin directory
# (I use 5.2, change the path for 5.3)
sudo ln -s /Applications/MAMP/bin/php/php5.2.17/bin/php /usr/bin/php

Là-bas !

1voto

user28951 Points 1

La façon rapide et sale de le faire est de le définir comme argument lors de l'appel de votre script.

Ie :

php -d memory_limit=512M myScript.php

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X