No Comments

So erhöhen Sie das PHP-Speicherlimit und laden das Dateilimit und die Skriptausführungszeit hoch

In PHP ist standardmäßig ein PHP-Speicherlimit von 16 MB festgelegt. Einige Websites benötigen möglicherweise mehr als 32 MB. Speichergrenzen von 64 MB und höher sind keine Seltenheit. Das Standardlimit für Upload-Dateien liegt bei 2 MB. Dies ist recht niedrig, insbesondere wenn die Website mit Fotos arbeitet, die problemlos mehr als 32 MB groß sein können. Die Skriptausführungszeit ist standardmäßig auf 30 Sekunden festgelegt, aber einige Aufgaben (z. B. Service-Cron-Aufgaben) benötigen mehr Zeit, um ihren Job zu beenden. Es gibt verschiedene Techniken, um das PHP-Speicherlimit, das Upload-Dateilimit und die Ausführungszeit zu erhöhen – Sie müssen nur eine davon verwenden. Das richtige für Sie hängt von Ihrer Systemkonfiguration ab.

1. Stellen Sie das Speicherlimit ein

1.1. Konfiguration von php.ini Dies ist der empfohlene Ansatz, wenn Sie Zugriff auf die php.ini des Servers haben. Dies ist in den meisten gemeinsam genutzten Hosting-Umgebungen nicht möglich, obwohl Ihr Host dies möglicherweise für Sie anpassen kann. Beachten Sie, dass diese Änderung alle Websites und PHP-Skripte auf dem Server betrifft. – Suchen Sie die von Ihrem Webserver verwendete Datei php.ini. Sie können die PHP-Funktion phpinfo () verwenden, um sie zu finden. – Bearbeiten Sie den Parameter memory_limit in der Datei php.ini (normalerweise in einem Abschnitt namens Resource Limits) memory_limit = 32M; Maximale Speicherkapazität eines Skripts (32 MB) Wenn hierfür noch kein Abschnitt vorhanden ist, setzen Sie die obige Zeile am Ende der Datei. – Starten Sie Apache neu. Hinweis: Wenn Sie XAMPP / WAMP verwenden, befinden sich möglicherweise zwei PHP.ini-Dateien (eine im PHP-Verzeichnis und die andere unter Apache / bin). Bearbeiten Sie die Datei im Verzeichnis XAMPP / Apache / bin, um Ihr Speicherlimit zu ändern. Die nächsten beiden Lösungen sind in ihrem Umfang eingeschränkter und in einigen Fällen geeigneter als alle Standorte.

1.2..htaccess-Konfiguration Dies ist nützlich, wenn Sie keinen Zugriff auf die Datei php.ini haben. Bearbeiten (Erstellen) Sie die Datei.htaccess im Stammverzeichnis der Site (öffentlich) und fügen Sie die folgende Zeile hinzu: php_value memory_limit 32M Diese Methode funktioniert nur, wenn PHP als Apache-Modul ausgeführt wird.

1.3. Konfiguration in PHP-Skripten Fügen Sie die folgende Zeile hinzu, in der Sie PHP mehr Speicher geben müssen: ini_set (‘memory_limit’, ’32M’);

1.4. Speicherbeschränkungen für gemeinsam genutzte Hostings. In einigen gemeinsam genutzten Hosting-Umgebungen ist der Zugriff auf die Einstellung für das PHP-Speicherlimit eingeschränkt. Wenn Sie die Änderung nicht selbst vornehmen können, bitten Sie Ihren Hosting-Anbieter, sie für Sie anzupassen, oder suchen Sie nach einem neuen Host, der mehr Flexibilität bietet.

2. Limit für Upload-Dateigröße festlegen Ihre PHP-Installation begrenzt die Größe von Upload-Dateien. Die Standardeinstellung beschränkt Sie auf eine maximale Upload-Dateigröße von 2 MB. Sie müssen die folgenden drei Konfigurationsoptionen festlegen: – upload_max_filesize – Die maximale Größe einer hochgeladenen Datei. – memory_limit – Hiermit wird die maximale Speichermenge in Byte festgelegt, die ein Skript zuordnen darf. Dies hilft zu verhindern, dass schlecht geschriebene Skripte den gesamten verfügbaren Speicher auf einem Server verbrauchen. Beachten Sie, dass Sie diese Anweisung auf -1 setzen müssen, um kein Speicherlimit zu haben. – post_max_size – Legt die maximal zulässige Größe der Postdaten fest. Diese Einstellung wirkt sich auch auf das Hochladen von Dateien aus. Um große Dateien hochzuladen, muss dieser Wert größer als upload_max_filesize sein. Wenn das Speicherlimit durch Ihr Konfigurationsskript aktiviert ist, wirkt sich memory_limit auch auf das Hochladen von Dateien aus. Im Allgemeinen sollte memory_limit größer als post_max_size sein.

Es gibt zwei Methoden, um dieses Problem zu beheben.

2.1. Konfiguration von php.ini – Suchen Sie die von Ihrem Webserver verwendete Datei php.ini. Sie können die PHP-Funktion phpinfo () verwenden, um sie zu finden. – Nächste Parameter finden und ändern: memory_limit = 32M upload_max_filesize = 10M post_max_size = 20M – Apache neu starten

2.2. .htaccess-Konfiguration Dies ist nützlich, wenn Sie keinen Zugriff auf die Datei php.ini haben. Bearbeiten (Erstellen) Sie die.htaccess-Datei im Site-Stammverzeichnis (öffentlich) und fügen Sie die folgende Zeile hinzu: php_value upload_max_filesize 10M php_value post_max_size 20M php_value memory_limit 32M Diese Methode funktioniert nur, wenn PHP als Apache-Modul ausgeführt wird.

3. Erhöhen der Skriptausführungszeit PHP-Skripte dürfen nur für einen bestimmten Zeitraum ausgeführt werden. Wenn das Zeitlimit erreicht ist, wird der folgende Fehler gestoppt und ausgegeben: “Schwerwiegender Fehler: Die maximale Ausführungszeit von 30 Sekunden wurde überschritten yourscript.php “Damit Ihr PHP-Skript länger ausgeführt werden kann, müssen Sie das maximale Ausführungszeitlimit für PHP-Skripte mit einer der folgenden Methoden erhöhen.

3.1. Konfiguration von php.ini – Suchen Sie die von Ihrem Webserver verwendete Datei php.ini. Sie können die PHP-Funktion phpinfo () verwenden, um sie zu finden. – nächsten Parameter suchen und ändern: max_execution_time = 45 Ändern Sie den Wert (in Sekunden) oder setzen Sie ihn für unendliche Zeit auf 0 – starten Sie Apache neu

3.2..htaccess-Konfiguration Bearbeiten (erstellen) Sie die.htaccess-Datei im Site-Stammverzeichnis (öffentlich) oder im Verzeichnis Ihres Skripts und fügen Sie die folgende Zeile hinzu: php_value max_execution_time 45 Ändern Sie den Wert (in Sekunden) oder setzen Sie ihn für unendlich auf 0 Zeit

3.3. Konfiguration in PHP-Skripten Dies ist wahrscheinlich die beste Methode, da die Einstellung nur für das jeweilige Skript gilt und nicht zulässt, dass andere schlecht geschriebene Skripte auch die Ressourcen des Systems verbrauchen und verschwenden. Rufen Sie dazu in Ihrem PHP-Skript die folgende Funktion mit der maximalen Ausführungszeit in Sekunden als Parameter auf: set_time_limit (300) Sie können 0 als Parameter für die unendliche Ausführungszeit verwenden.

 

Das könnte dir auch gefallen

More Similar Posts

Leave a Reply

Your email address will not be published.

Bitte füllen Sie dieses Feld aus.
Bitte füllen Sie dieses Feld aus.
Please enter a valid email address.