Maison  >  Article  >  développement back-end  >  Problème de limite de taille de téléchargement de fichiers PHP et Nginx

Problème de limite de taille de téléchargement de fichiers PHP et Nginx

王林
王林original
2019-11-08 09:41:352078parcourir

Problème de limite de taille de téléchargement de fichiers PHP et Nginx

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

client_max_body_size
upload_max_filesize
post_max_size

Pour certains nginx+. php Sur le site Web, la taille du fichier téléchargé sera limitée à plusieurs égards. L'un est la limitation de nginx lui-même, qui limite la taille du fichier téléchargé par le client. L'autre concerne les paramètres par défaut à plusieurs endroits du php. Fichier .ini.

Ainsi, 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.

Solution :

1. Modifiez le fichier /usr/local/nginx/conf/nginx.conf, recherchez client_max_body_size et définissez la valeur suivante sur ce que vous voulez. valeur. 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;    #设置临时目录 
     }

2. Modifiez le fichier php.ini

upload_max_filesize = 8M  
post_max_size = 10M  
memory_limit = 20M 
max_execution_time=300 
file_uploads = On #默认允许HTTP文件上传,此选项不能设置为OFF。
upload_tmp_dir =/tmp/www

Lors du téléchargement de fichiers volumineux, vous sentirez que la vitesse de téléchargement est lente. Lorsqu'elle dépasse un certain temps, il vous signalera. que l'exécution du script dépasse 30 secondes, c'est parce que l'option de configuration max_execution_time dans le fichier de configuration php.ini provoque des problèmes, qui indique le temps d'exécution maximum autorisé (secondes) de chaque script, et 0 signifie aucune limite. Vous pouvez ajuster la valeur de max_execution_time de manière appropriée, mais la définir sur 0 n'est pas recommandé.

Tutoriel 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