Comment puis-je augmenter la ligne de commande memory_limit pour PHP avec MAMP PRO?

13

J'ai édité chaque single php.inisur mon Mac (au moins tous ceux trouvés par "Locate") et je n'arrive toujours pas à augmenter la memory_limitdirective pour PHP.

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

Comment résoudre ça?

Alex Weber
la source

Réponses:

15

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

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

Même si 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 se trouve à l'adresse/etc/php.ini

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

memory_limit = 256M
Chris Ruppel
la source
1
Je devais poing cp le fichier par défaut:cp /etc/php.ini.default /etc/php.ini
deweydb
4

De http://drupal.org/node/66187 (drupal peut ne pas être pertinent pour vos besoins, mais leur site avait une bonne explication - je voulais le trouver pour vous et leur donner du crédit)

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

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

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 modifier le modèle approprié (menu Fichier> Modifier le modèle> ...) à la place.

Même avec des limites de mémoire PHP plus importantes, vous pouvez obtenir des erreurs de délai d'attente lors de l'importation 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. Généralement, la solution consiste à vider le cache Drupal avant d'importer / exporter des bases de données vers / depuis MySQL.

dmg
la source
Non, ces limites étaient déjà à 128 Mo ...
Alex Weber
hmm. vous avez pro ... essayez de modifier le modèle à la place. Apparemment, le fichier php.ini est recréé à chaque fois. Instructions ici: documentation.mamp.info/en/mamp-pro/how-tos/… Ça marche? Que courez-vous sur le serveur Mamp?
dmg
toujours rien, chaque fichier php.ini que je peux trouver (et les modèles aussi) sont tous avec 128 Mo mais php -r "phpinfo ();" | grep memory_limit renvoie toujours memory_limit => 8M => 8M
Alex Weber
2

Pour moi, j'ai fait ce qui suit:

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

et

php.ini.temp

être:

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

Ensuite, dans le Finder, faites simplement php.ini et php.ini.temp en lecture seule pour tous les utilisateurs. De cette façon, MAMP ne peut pas le remplacer par des fichiers par défaut. Redémarrez le serveur et vérifiez votre phpinfo.

BobFlemming
la source
les choses les plus simples passent inaperçues! Merci pour cette idée!
kelly johnson
1

Après avoir joué pendant un moment, j'ai trouvé quelque chose qui fonctionnait 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à!

Alex Weber
la source
1

Un moyen rapide et sale de le faire est de le définir comme argument lors de l'appel de votre script.

C'est à dire:

php -d memory_limit=512M myScript.php 
stefgosselin
la source
0

si vous utilisez Homebrew , vos paramètres php sont à/usr/local/etc/php/<php version>

Greg
la source
0

Si vous avez Opcache dans Mamp Pro, vous n'obtiendrez pas le paramètre approprié ... arrêtez-le, redémarrez votre serveur Mamp Pro ...

mattyoung-redhatmatt
la source