Wie kann ich das Memory_Limit der Befehlszeile für PHP mit MAMP PRO erhöhen?

Ich habe jeden einzelnen auf meinem Mac bearbeitet (zumindest alle, die von "locate" gefunden wurden) und kann die Direktive für PHP php.iniimmer noch nicht erhöhen .memory_limit

Ich verwende MAMP PRO und führe PHP-Skripte im Terminal aus.

Wie löst man das?

Antworten (7)

Anstatt zu raten, welche php.ini Sie ändern müssen, führen Sie diesen Befehl aus, um die Datei zu finden:

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

Obwohl ich MAMP PRO verwende, werden meine PHP-Befehlszeilenbefehle standardmäßig nicht mit ihrer Kopie von PHP ausgeführt. In meinem Fall heißt es, die Datei befindet sich unter/etc/php.ini

Wenn Sie die Datei gefunden haben, befolgen Sie die Anweisungen in allen anderen Antworten, um die Einstellung „memory_limit“ zu erhöhen:

memory_limit = 256M
Ich musste zuerst die Standarddatei cp:cp /etc/php.ini.default /etc/php.ini

Von http://drupal.org/node/66187 (drupal mag für Ihre Bedürfnisse irrelevant sein, aber ihre Website hatte eine gute Erklärung - wollte es für Sie beschaffen und ihnen Anerkennung zollen)

Standardmäßig hat MAMP das Speicherlimit, das ein Skript verwenden kann, auf 8 MB festgelegt, was der PHP-Standard ist. Wenn man sich die von PHP empfohlene Datei php.ini ansieht, ist dieses Speicherlimit normalerweise auf 128 MB eingestellt. Um diesen Betrag anzupassen, öffnen Sie die Datei php.ini in einem Texteditor und ändern Sie die folgende Zeile (ungefähr in Zeile 232):

Speicherlimit = 8 MB; Maximale Speichermenge, die ein Skript verbrauchen darf (8 MB)

Speicherorte der PHP.ini-Datei:

/Applications/MAMP/conf/php4/php.ini
/Applications/MAMP/conf/php5/php.ini Ändern Sie
in MAMP PRO die Datei nicht direkt, da sie bei jedem Serverstart neu erstellt wird. Bitte bearbeiten Sie stattdessen die entsprechende Vorlage (Menü Datei > Vorlage bearbeiten > ...).

Selbst bei größeren PHP-Speicherlimits können Timeout-Fehler auftreten, wenn Sie versuchen, große Drupal-Datenbanken in MySQL zu importieren. Diese Probleme werden an anderer Stelle in Bezug auf den Cache und den Views-Cache ausführlich erörtert. Im Allgemeinen besteht die Lösung darin, den Drupal-Cache zu leeren, bevor Datenbanken nach/von MySQL importiert/exportiert werden.

Nein, diese Grenzen lagen bereits bei 128 MB ...
hmm. Sie müssen stattdessen versuchen, die Vorlage zu bearbeiten. Anscheinend wird die php.ini-Datei jedes Mal neu erstellt. Anleitung hier: documentation.mamp.info/en/mamp-pro/how-tos/… Das funktioniert? Was läuft auf dem Mamp-Server?
immer noch nichts, jede einzelne php.ini-Datei, die ich finden kann (und auch Vorlagen), sind alle mit 128 MB groß, aber php -r "phpinfo();" | grep memory_limit gibt immer noch memory_limit => 8M => 8M zurück

Bei mir habe ich folgendes gemacht:

Bearbeiten Sie die/Applications/MAMP/conf/php5.4.4/php.ini

und

php.ini.temp

sein:

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

Dann im Finder einfach die php.ini und php.ini.temp für alle Benutzer schreibgeschützt machen. Auf diese Weise kann MAMP es nicht mit Standarddateien überschreiben. Starten Sie den Server neu und überprüfen Sie Ihre phpinfo.

die einfachsten Dinge bleiben unbemerkt! Danke für diese Idee!

Nachdem ich eine Weile herumgespielt habe, habe ich etwas gefunden, das für mich funktioniert hat:

# 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

Dort!

Der schnelle und schmutzige Weg, dies zu tun, besteht darin, es beim Aufrufen Ihres Skripts als Argument festzulegen.

Dh:

php -d memory_limit=512M myScript.php 

Wenn Sie Homebrew verwenden , befinden sich Ihre PHP-Einstellungen unter/usr/local/etc/php/<php version>

Wenn Sie Opcache in Mamp Pro aktiviert haben, erhalten Sie nicht die richtige Einstellung ... stoppen Sie es, starten Sie Ihren Mamp Pro-Server neu ...