Heim  >  Artikel  >  Backend-Entwicklung  >  So ändern Sie die Größenbeschränkung für Datei-Uploads in PHP

So ändern Sie die Größenbeschränkung für Datei-Uploads in PHP

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼Original
2019-08-29 16:40:573577Durchsuche

So ändern Sie die Größenbeschränkung für Datei-Uploads in PHP

So ändern Sie die Größenbeschränkung von PHP-Upload-Dateien:

1. Allgemeiner Datei-Upload, es sei denn, die Datei ist sehr klein. Wie bei einer 5-Megapixel-Datei dauert das Hochladen wahrscheinlich mehr als eine Minute.

Aber in PHP beträgt die standardmäßige maximale Ausführungszeit dieser Seite 30 Sekunden. Das heißt, wenn die Dauer 30 Sekunden überschreitet, wird die Ausführung des Skripts gestoppt.

Dies führt dazu, dass die Webseite nicht geöffnet werden kann. Zu diesem Zeitpunkt können wir max_execution_time ändern.

Schauen Sie in php.ini nach:

max_execution_time

Der Standardwert ist 30 Sekunden, ändern Sie ihn in:

max_execution_time = 0

0 Zeigt an, dass es keine Begrenzung gibt.

Verwandte Empfehlungen: „PHP Erste Schritte Tutorial

2. Ändern Sie post_max_size, um die maximal zulässige Größe für POST-Daten festzulegen. Diese Einstellung wirkt sich auch auf Datei-Uploads aus.

PHP-Standardgröße für post_max_size ist 2M. Wenn die POST-Datengröße größer als post_max_size ist, sind die Superglobals $_POST und $_FILES leer.

Suchen Sie nach post_max_size und ändern Sie es in:

post_max_size = 150M

3. Viele Leute werden den zweiten Schritt ändern, aber die maximale Größe beim Hochladen von Dateien beträgt immer noch 8M.

Warum? Wir müssen auch einen Parameter upload_max_filesize ändern, um die maximale Größe der hochgeladenen Datei anzugeben.

Suchen Sie nach upload_max_filesize, der Standardwert ist 8M und ändern Sie ihn in:

upload_max_filesize = 100M

Außerdem ist zu beachten, dass post_max_size besser ist als upload_max_filesize.

4. Laden Sie den 413-Fehler hoch

Der Grund für diesen Fehler ist, dass der vom Client gesendete Entitätskörper größer ist, als der Server verarbeiten kann oder möchte. Unter normalen Umständen können wir diesen Statuscode nicht sehen. Da der Browser nicht zu viele Daten an die Website sendet, kann das Problem bei der Schnittstelleninteraktion zwischen Servern auftreten.

Der Grund, warum Nginx dieses Problem hat, ist, dass die Anforderungsentität zu lang ist. Diese Situation tritt im Allgemeinen auf, wenn die Post-Daten des Body-Inhalts in der Post-Anfrage zu groß sind, z. B. wenn eine große Datei hochgeladen wird, die zu groß ist und viele POST-Daten vorhanden sind.

Lösung:

Öffnen Sie die Nginx-Hauptkonfigurationsdatei nginx.conf, suchen Sie den Abschnitt http{}, ändern oder fügen Sie den Wert von client_max_body_size hinzu.

client_max_body_size 20m;

Das obige ist der detaillierte Inhalt vonSo ändern Sie die Größenbeschränkung für Datei-Uploads in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn