Maison  >  Article  >  développement back-end  >  Que dois-je faire si php ne peut télécharger que des fichiers d’une taille inférieure à 1 000 ?

Que dois-je faire si php ne peut télécharger que des fichiers d’une taille inférieure à 1 000 ?

藏色散人
藏色散人original
2021-11-12 09:45:442039parcourir

Solution au problème selon lequel php ne peut télécharger que des fichiers d'une taille inférieure à 1 Ko : 1. Recherchez et ouvrez le fichier de configuration php.ini ; 2. Modifiez les valeurs de "client_max_body_size", "upload_max_filesize" et "post_max_size".

Que dois-je faire si php ne peut télécharger que des fichiers d’une taille inférieure à 1 000 ?

L'environnement d'exploitation de cet article : système Windows7, version PHP7.1, ordinateur DELL G3

php Que dois-je faire si je ne peux télécharger que des fichiers d'une taille inférieure à 1 000 ?

Solution au problème de limite de téléchargement de fichiers PHP :

Les téléchargements de fichiers volumineux PHP occupent beaucoup de ressources, la taille de téléchargement doit donc être limitée. Voici les trois paramètres pertinents :

client_max_body_size
upload_max_filesize
post_max_size

Trois rapports d'erreur correspondant à. les informations ci-dessus :

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 est utilisé pour définir la limite supérieure de la taille du corps de la requête du client. Le fichier à télécharger est dans le corps, ce paramètre peut donc être indirectement considéré comme une limite sur la taille de téléchargement du fichier.

Le serveur nginx détermine la taille du corps via le Content-Length de l'en-tête de la requête. Le dépassement de la limite supérieure définie renverra le code d’erreur 413 Entité de demande trop grande. La définition de ce paramètre sur 0 peut annuler la limite de longueur.

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

client_max_body_size peut être défini dans les blocs http, serveur et emplacement, afin que nous puissions augmenter la taille du package téléchargé pour le nom de domaine ou même une adresse de demande.

Erreur php :

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

À l'heure actuelle, la taille du fichier téléchargé est supérieure à post_max_size.

php n'a aucun avertissement mais ne peut pas obtenir le fichier téléchargé

Pour le moment $_FILES['file']['error']==1 , la raison de l'erreur est que la taille du fichier téléchargé est inférieure à post_max_size mais plus grand que upload_max_filesize .

Extension des points de connaissances :

Solution au problème de la limite de taille de téléchargement des fichiers PHP et Nginx

Pour certains sites Web nginx+php, la taille du fichier téléchargé sera limitée à bien des égards. L'un est la limitation de nginx lui-même, qui limite. clients La taille du fichier téléchargé par le client, l'un correspond aux paramètres par défaut à plusieurs endroits du fichier php.ini.

Donc, afin de résoudre le problème de la limite de taille de fichier de téléchargement, de nombreuses modifications doivent être apportées. Quelques endroits sont répertoriés ci-dessous.

1. Modifiez le fichier /usr/local/nginx/conf/nginx.conf, recherchez client_max_body_size et définissez la valeur suivante sur la valeur que vous souhaitez définir. Par exemple :

# 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;    #设置临时目录 
     }

Annexe : Nginx a un composant de téléchargement :

Taux de téléchargement, taille du corps de téléchargement, c'est-à-dire que le fichier peut être plus grand lors du téléchargement

client_max_body_size 1024M
upload_limit_rate 158k

est le suivant : lors du téléchargement de fichiers volumineux, vous ressentirez que la vitesse de téléchargement est lente lorsqu'elle dépasse un certain temps, une erreur sera signalée indiquant que l'exécution du script dépasse 30 secondes. En effet, l'option de configuration max_execution_time dans le fichier de configuration php.ini provoque des problèmes, ce qui signifie que chaque script est maximum. temps d'exécution autorisé (secondes), 0 signifie aucune limite. Vous pouvez ajuster la valeur de max_execution_time de manière appropriée. Il n'est pas recommandé de la définir sur 0.

Apprentissage recommandé : "

Tutoriel vidéo PHP

"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Comment modifier mongo en phpArticle suivant:Comment modifier mongo en php