Höchstwahrscheinlich haben Sie mehr als eine php.ini-Datei (überprüfen Sie etwas /etc/php5/cli
) und bearbeiten die falsche oder Sie haben eine ini_set('memory_limit', '512M');
Einstellung in einer settings.php
Datei oder dergleichen, die enthalten ist.
PHP-CLI berücksichtigt keine Speicherbegrenzung in php.ini
Ich verwende drush, eine Befehlszeilen-PHP-App zur Verwaltung einer Drupal-Website. Ich führe einen Befehl aus, um viele Daten zu importieren, was dazu führt, dass ich das Speicherlimit von php erreicht.
PHP Fatal error: Allowed memory size of 536870912 bytes exhausted ...
Welches sind 512 MB, wenn ich die Mathematik richtig mache (536870912/1024/1024 = 512). Ich habe die Direktive in der php.ini geändert, die drush verwendet:
$> drush status ... PHP configuration : /etc/php5/cli/php.ini $> grep memory /etc/php5/cli/php.ini ; Maximum amount of memory a script may consume (128MB) ; http://php.net/memory-limit memory_limit = 1024M
Aber ich bin immer noch am Limit von 512 MB! Ich verwende eine virtuelle Maschine, deren Speichereinstellungen ich von 512 auf 1025 MB RAM geändert habe, um das Ausführen von Drush zu ermöglichen.
$> free -m total used free shared buffers cached Mem: 1010 578 431 0 14 392 -/+ buffers/cache: 172 837 Swap: 382 0 382
So heißt es, dass es 431 MB frei hat, jetzt, da ich die VM auf 1024 erhöht habe. Ich denke, die Hälfte des Speichers wird zum Ausführen der GUI verwendet, aber ich verstehe nicht, wie die GUI lief, wenn die VM läuft hatte 512 MB RAM.
Warum erreicht der PHP-Cli immer noch eine Speichergrenze von 512 MB? Wenn es an eine Systemspeichergrenze stößt, sollte es nicht bei 431 MB liegen, was free
sagt der Befehl als verfügbar?
3 Antworten auf die Frage
Für andere Personen, die diese Frage wie mich googeln, führen Sie den folgenden Befehl aus:
php --ini
Um zu sehen, welche Konfiguration php-cli verwendet. Sie werden so etwas sehen:
Loaded Configuration File: /etc/php/7.1/cli/php.ini
Oder so:
Loaded Configuration File: /opt/php-7.0.26/etc/php.ini
Möglicherweise versuchen Sie, die Konfiguration in einer falschen Datei zu ändern.
in Mac zum Beispiel
/etc/php5/cli ist für die Befehlszeile, daher müssen Sie /etc/php5/cgi/php.ini ändern
das sollte funktionieren !
Verwandte Probleme
-
6
Muss ich 3 RAM-DIMMs haben, um DDR3 verwenden zu können, oder sogar eine 3-Kanal-CPU betreiben könne...
-
5
Warum läuft mein CPU-Fan, wenn Sie Videos oder virtuelle Maschinen ausführen?
-
4
Gibt es einen bestimmten oder messbaren Vorteil bei der Verwendung von ECC-RAM in einem Desktop-PC?
-
2
iTunes-Speicherverwendung
-
5
So ermitteln Sie, welche Firefox-Add-Ons den meisten Speicher verwenden
-
5
Was soll ich mit meinem alten Gedächtnis machen?
-
3
Wie kann ich feststellen, ob der Arbeitsspeicher auf meinem ASUS P5B MX-Motherboard von 2 auf 4 GB e...
-
6
Warum ist RAM für die neuen Macbooks so teuer?
-
8
"Speicher paarweise installieren" Wie funktioniert das für 3 GB?
-
7
Wohin sind die anderen 0,8 GB RAM gegangen?