Heim  >  Artikel  >  Backend-Entwicklung  >  Was soll ich tun, wenn PHP nur Dateien innerhalb von 1 KB hochladen kann?

Was soll ich tun, wenn PHP nur Dateien innerhalb von 1 KB hochladen kann?

藏色散人
藏色散人Original
2021-11-12 09:45:442085Durchsuche

Lösung für das Problem, dass PHP nur Dateien innerhalb von 1 KB hochladen kann: 1. Suchen und öffnen Sie die Konfigurationsdatei php.ini. 2. Ändern Sie die Werte von „client_max_body_size“, „upload_max_filesize“ und „post_max_size“.

Was soll ich tun, wenn PHP nur Dateien innerhalb von 1 KB hochladen kann?

Die Betriebsumgebung dieses Artikels: Windows7-System, PHP7.1-Version, DELL G3-Computer

php Was soll ich tun, wenn ich Dateien nur innerhalb von 1 KB hochladen kann?

Lösung für das Problem der PHP-Datei-Upload-Beschränkung:

Das Hochladen großer PHP-Dateien beansprucht viele Ressourcen, daher muss die Upload-Größe begrenzt werden:

client_max_body_size
upload_max_filesize
post_max_size

Drei entsprechende Fehlerberichte Die oben genannten Informationen:

Warning: POST Content-Length of 9663102 bytes exceeds the limit of 8388608 bytes in Unknown on line 0
$_FILES['file']['error']==1
nginx错误:413 Request Entiry Too Large

client_max_body_size wird verwendet, um die Obergrenze der Größe des Anforderungshauptteils des Clients festzulegen. Die hochzuladende Datei befindet sich im Hauptteil, sodass dieser Parameter indirekt als Begrenzung der Datei-Upload-Größe angesehen werden kann. Der

nginx-Server bestimmt die Größe des Körpers anhand der Inhaltslänge des Anforderungsheaders. Bei Überschreitung der festgelegten Obergrenze wird der Fehlercode 413 „Request Entity Too Large“ zurückgegeben. Wenn Sie diesen Parameter auf 0 setzen, kann die Längenbeschränkung aufgehoben werden.

Syntax:    client_max_body_size size;
Default:   
client_max_body_size 1m;
Context:    http, server, location

client_max_body_size kann in http-, Server- und Standortblöcken festgelegt werden, sodass wir die Größe des hochgeladenen Pakets für den Domainnamen oder sogar eine Anforderungsadresse erhöhen können.

php-Fehler:

Warning: POST Content-Length of 9663102 bytes exceeds the limit of 8388608 bytes in Unknown on line 0

Zu diesem Zeitpunkt ist die hochgeladene Dateigröße größer als post_max_size.

php hat keine Warnung, kann aber die hochgeladene Datei nicht abrufen

Zu diesem Zeitpunkt $_FILES['file']['error']==1 liegt der Grund für den Fehler darin, dass die Größe der hochgeladenen Datei kleiner als post_max_size ist aber größer als upload_max_filesize .

Wissenspunkterweiterung:

Lösung für das Problem der Größenbeschränkung beim Hochladen von PHP- und Nginx-Dateien

Bei einigen Nginx+PHP-Websites wird die hochgeladene Dateigröße in vielerlei Hinsicht eingeschränkt Kunden Die Größe der vom Client hochgeladenen Datei ist eine der Standardeinstellungen an mehreren Stellen in der Datei php.ini.

Um das Problem der Größenbeschränkung beim Hochladen von Dateien zu lösen, müssen viele Änderungen vorgenommen werden. Nachfolgend sind einige Orte aufgeführt.

1. Ändern Sie die Datei /usr/local/nginx/conf/nginx.conf, suchen Sie nach client_max_body_size und setzen Sie den folgenden Wert auf den Wert, den Sie festlegen möchten. Zum Beispiel:

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 
     # 
     location ~ \.php$ { 
       root      /home/www/htdocs; 
       fastcgi_pass  127.0.0.1:9000; 
       fastcgi_index index.php; 
       fastcgi_param SCRIPT_FILENAME /home/www/htdocs$fastcgi_script_name; 
       include    fastcgi_params; 
   
       client_max_body_size 35m;    #客户端上传文件大小设为35M 
       client_body_temp_path /home/www/nginx_temp;    #设置临时目录 
     }

Anhang: Nginx hat eine Upload-Komponente:

Upload-Rate, Upload-Körpergröße, das heißt, die Datei kann beim Hochladen größer sein?

client_max_body_size 1024M
upload_limit_rate 158k

ist wie folgt: Beim Hochladen großer Dateien werden Sie das spüren Wenn die Upload-Geschwindigkeit eine bestimmte Zeit überschreitet, wird ein Fehler gemeldet, dass die Skriptausführung 30 Sekunden überschreitet. Dies liegt daran, dass die Konfigurationsoption max_execution_time in der Konfigurationsdatei php.ini Probleme verursacht, was bedeutet, dass jedes Skript maximal ist zulässige Ausführungszeit (Sekunden), 0 bedeutet keine Begrenzung. Sie können den Wert von max_execution_time entsprechend anpassen. Es wird nicht empfohlen, ihn auf 0 zu setzen.

Empfohlenes Lernen: „

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn PHP nur Dateien innerhalb von 1 KB hochladen kann?. 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
Vorheriger Artikel:So ändern Sie Mongo in PHPNächster Artikel:So ändern Sie Mongo in PHP