Ich habe jeden einzelnen auf meinem Mac bearbeitet (zumindest alle, die von "locate" gefunden wurden) und kann die Direktive für PHP php.ini
immer noch nicht erhöhen .memory_limit
Ich verwende MAMP PRO und führe PHP-Skripte im Terminal aus.
Wie löst man das?
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
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.
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.
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 ...
deweydb
cp /etc/php.ini.default /etc/php.ini