Maison >développement back-end >Problème PHP >Que dois-je faire si de grandes vidéos ne peuvent pas être téléchargées en utilisant php ?
1. Environnement :
CentOS 6.8
nginx 1.8.0
php 7.0.10
2. Contexte
Projet H5 basé sur nginx + php Lors du téléchargement d'une vidéo, si la vidéo est trop volumineuse, le téléchargement échouera.
Recommandations associées : "Tutoriel d'introduction à PHP"
3. Texte
Une vidéo est envoyée au backend, qui nécessite Après deux niveaux :
1, nginx
2, php
Solution => Modifier l'élément de configuration (c'est à dire le texte sur la flèche dans l'image ci-dessous) :
1. Modifier la configuration de nginx
Ouvrez nginx.conf et modifiez :
client_max_body_size 500m;
Après avoir redémarré nginx, le la taille de téléchargement dépasse 200 M. La vidéo signalera uniquement une erreur :
413 Request Entity Too Large
2 Modifiez la configuration php
Ouvrez php.ini, modifiez :
upload_max_filesize 500M post_max_size 550M memory_limit 600M
. Redémarrez PHP.
Remarque : Pourquoi upload_max_filesize
Pour une demande de téléchargement d'un fichier, il y a l'équation suivante :
POST DATA = Fichier Base64 + formulaire d'autres données du projet,
HTTP DATA = HTTP HEAD + POST DONNÉES.
La taille du fichier est limitée par upload_max_filesize,
La taille des POST DATA est limitée par post_max_size,
L'intégralité des données de la requête HTTP sera d'abord placée dans le cache mémoire, c'est-à-dire que la taille de HTTP DATA est limitée par la limite memory_limit.
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!