So beheben Sie einen schwerwiegenden PHP-Fehler: Die zulässige Speichergröße von 8388608 Byte ist erschöpft

Einer der häufigsten und frustrierendsten FehlerDer von PHP-Codierern festgestellte Fehler lautet: "Schwerwiegender Fehler: Zulässige Speichergröße von 8388608 Bytes erschöpft ...", gefolgt von "(versucht, XXXX Bytes zuzuweisen) in /home/www/file.module in Zeile 12." Dieser schwerwiegende PHP-Fehler tritt auf up, da PHP standardmäßig ein Speicherlimit von 8 MB für ein bestimmtes Skript hat. Dies ist in der Tat eine gute Sache, da Sie nicht möchten, dass ein unerwünschtes PHP-Skript Ihren Server herunterfährt, indem es den gesamten Speicher auslastet. Gelegentlich haben Sie jedoch ein PHP-Skript, das normalerweise die 8-MB-Grenze überschreitet (sagen wir zum Importieren oder Hochladen). Um den Fehler "Schwerwiegender Fehler: Zulässige Speichergröße von 8388608 Byte erschöpft ..." zu umgehen, fügen Sie einfach die folgende Codezeile oben in Ihr Skript ein:

ini_set ("memory_limit", "16M“);

memory_limit

Dadurch wird das Speicherlimit auf 16 MB festgelegtals 8 MB. Sie können und sollten mit dieser Nummer herumspielen, damit sie so niedrig wie möglich ist, ohne diese Fehlermeldung zu wiederholen. Dadurch wird nur das Speicherlimit für diese bestimmte PHP-Datei geändert.

Alternativ können Sie Ihre php.ini-Datei ändern, um das Speicherlimit zu erhöhen. Dies wirkt sich auf alle Skripte auf Ihrem Server aus. Öffne einfach die php.ini und finde die Zeile mit der Aufschrift "memory_limit" und ändere sie:

memory_limit = 16M

Schwerwiegender Fehler: Die zulässige Speichergröße von 134217728 ist erschöpft

Ich habe es in meinem eigenen PHP bemerkt.INI-Datei, die mein Standard ist viel höher bei 128M. Wenn ich also jemals diese Fehlermeldung erhalten würde, würde sie lauten: "Schwerwiegender Fehler: Zulässige Speichergröße von 134217728 Byte erschöpft ..." und ist offensichtlich ein viel größeres Problem. Es hat jedoch die gleiche Problemumgehung wie "Schwerwiegender Fehler: Zulässige Speichergröße von 8388608 Byte erschöpft ..." oder "Schwerwiegender Fehler: Zulässige Speichergröße von 16777216 Byte erschöpft ..." oder was auch immer. Anscheinend wurde der Standardwert für memory_limit in PHP 5.2.0 von 8 auf 16 MB erhöht und ist jetzt 128 MB für PHP 5.3.0, was erklären würde, warum diese Fehlermeldung möglicherweise überhaupt nicht angezeigt wird.

Sie können das Speicherlimit auch deaktivieren, indem Sie memory_limit in PHP.ini auf –1 setzen.

memory_limit = -1

Dies ist jedoch aus offensichtlichen Gründen normalerweise keine gute Idee.

Hinweis: Sie können auch die Zeile memory_limit auf Ihrer Seite .htaccess verwenden.

Denken Sie daran, dies ist nur eine Problemumgehung. Eigentlich sollte Ihr PHP-Skript nicht 8 MB überschreiten, es sei denn, Sie laden Dateien hoch oderetwas anderes zu tun, das offensichtlich viel Speicherplatz in Anspruch nimmt. Was Sie wirklich tun sollten, ist herauszufinden, warum Ihr Skript so viel Speicher verwendet, und zu versuchen, es zu beheben. Eine Möglichkeit herauszufinden, wie viel Speicher Ihr PHP-Skript belegt, ist die Verwendung der PHP-Funktion memory_get_usage (). Geben Sie es einfach an einer beliebigen Stelle in Ihrem Skript wieder, um herauszufinden, wo Ihre Speichernutzung ansteigt:

echo memory_get_usage ();

Wenn Sie diese Fehlermeldung in Drupal oder Joomla erhalten, ist der wahrscheinliche Schuldige ein neues Modul oder Paket. In Drupal wird beispielsweise die Seite admin / modules geladen jeder Modul in Ihrer Drupal-Installation, die bekommen kannhaarig, wenn ein benutzerdefiniertes Modul fehlerhaft, beschädigt oder gehackt ist. Deaktivieren Sie die Module nacheinander, um herauszufinden, welche Partei zum Absturz gebracht wird. Einige Hosting-Anbieter ignorieren außerdem Ihre Versuche, die Speicherbeschränkungen für Ihren PHP-Code zu ändern, sodass Sie sich möglicherweise an Ihren Hosting-Support wenden müssen, um Unterstützung zu erhalten. Manchmal muss ich die php.ini-Datei bearbeiten und manchmal den Code in die .htaccess-Datei einfügen. Wie auch immer, hoffentlich reichen diese Informationen hier aus, um Sie auf den Weg zu bringen!

0

Ähnliche Artikel

Hinterlasse einen Kommentar