J'essaie de télécharger un fichier de 30 Mo sur mon serveur et cela ne fonctionne pas.
Lorsque je télécharge un fichier de 30 Mo, la page se charge " Page introuvable "
Lorsque je télécharge un fichier de 3 Mo, je reçois " Entité 413 de demande trop grande " avec nginx/0.6.32
J'essaie de trouver nginx pour pouvoir augmenter " client_max_body_size " mais je ne parviens pas à trouver nginx installé sur mon serveur. J'ai même essayé de courir:
vi /etc/nginx/nginx.conf
ou
vi /usr/local/nginx/conf/nginx.conf
pour vérifier si le fichier de configuration existe, mais je ne pouvais pas le trouver sur mon serveur.
Y a-t-il un moyen de résoudre ce problème? Ou dois-je installer nginx sur mon serveur?.
MODIFIER:
J'ai apporté toutes les modifications nécessaires dans mes fichiers php.ini,
post_max_size 128M
upload_max_filesize 100M
memory_limit 256M
Merci, Raju
Source: http://www.cyberciti.biz/faq/linux-unix-bsd-nginx-413-request-entity-too-large/
Editez le fichier de configuration de nginx:
nano /etc/nginx/nginx.conf
Ajoutez une ligne dans la section http:
http {
client_max_body_size 100M;
}
N'utilisez pas MB cela ne fonctionnera pas, seulement le M!
De plus, n'oubliez pas de redémarrer nginx
systemctl restart nginx
-en php.ini (à l'intérieur de /etc/php.ini)
max_input_time = 24000
max_execution_time = 24000
upload_max_filesize = 12000M
post_max_size = 24000M
memory_limit = 12000M
-in nginx.conf (dans/opt/nginx/conf)
client_max_body_size 24000M
Cela fonctionne pour mon cas
Veuillez entrer le fichier de domaine nginx:
nano /etc/nginx/sites-available/domain.set
Ajouter au fichier ce code
client_max_body_size 24000M;
Si vous obtenez une erreur, utilisez cette commande
nginx -t
En supposant que vous ayez apporté les modifications nécessaires à vos fichiers php.ini:
Vous pouvez résoudre le problème en ajoutant la ligne suivante dans votre fichier nginx.conf situé dans le chemin suivant:
/etc/nginx/nginx.conf
puis éditez le fichier en utilisant l'éditeur de texte vim comme suit:
vi /etc/nginx/nginx.conf
et ajoutez client_max_body_size avec une valeur suffisamment grande, par exemple:
client_max_body_size 20MB;
Après cela, assurez-vous de sauvegarder en utilisant :xi
ou :wq
Et puis redémarrez votre nginx.
C'est tout.
Travaillé pour moi, espérons que cela aide.
Le téléchargement fonctionne avec les modifications ci-dessus. Mais lorsque j'ai apporté les modifications, j'ai commencé à recevoir une réponse 404 lors du téléchargement de fichiers, ce qui m'a amené à poursuivre le débogage et à résoudre son problème d'autorisation en vérifiant nginx error.log.
Solution:
Vérifiez la propriété actuelle de l'utilisateur et du groupe sur/var/lib/nginx.
$ ls -ld /var/lib/nginx
drwx ------. 3 nginx nginx 17 octobre 5 19:31/var/lib/nginx
Cela indique qu'un utilisateur et un groupe probablement non existants, nommés nginx, sont propriétaires de ce dossier. Cela empêche le téléchargement de fichiers.
Dans mon cas, le nom d'utilisateur mentionné dans "/etc/nginx/nginx.conf" était
user vagrant;
Changez la propriété du dossier en utilisateur défini dans nginx.conf dans ce cas vagabond.
$ Sudo chown -Rf vagrant:vagrant /var/lib/nginx
Vérifiez que cela a réellement changé.
$ ls -ld /var/lib/nginx
drwx------. 3 vagrant vagrant 17 Oct 5 19:31 /var/lib/nginx
Rechargez nginx et php-fpm pour une navigation plus sûre.
$ Sudo service nginx reload
$ Sudo service php-fpm reload
La permission refusée devrait maintenant disparaître. Vérifiez le fichier error.log (basé sur l'emplacement de nginx.conf error_log).
$ Sudo nano /path/to/nginx/error.log
Utilisation:
php -i
commande ou ajouter:
phpinfo();
pour obtenir l'emplacement du fichier de configuration.
Mettez à jour ces variables en fonction de vos besoins et de votre serveur
max_input_time = 24000
max_execution_time = 24000
upload_max_filesize = 12000M
post_max_size = 24000M
memory_limit = 12000M
Sous Linux, vous devrez redémarrer nginx/Apache et le service phpfpm pour que les nouveaux paramètres ini soient chargés. Sur xampp, ampères, vous pouvez les redémarrer à partir du panneau de configuration fourni avec ces applications.
J'ajoute les modifications directement à mon virtualhost à la place de la configuration globale de nginx, comme ceci:
server {
client_max_body_size 100M;
...
}
Et puis je change les paramètres dans php.ini, comme les commentaires ci-dessus:
max_input_time = 24000
max_execution_time = 24000
upload_max_filesize = 12000M
post_max_size = 24000M
memory_limit = 12000M
et ce que vous ne pouvez pas oublier, c’est de redémarrer nginx et php-fpm, c’est comme ça dans centos 7:
systemctl restart nginx
systemctl restart php-fpm
Ouvrir le fichier/etc/nginx/nginx.conf
Ajouter ou modifier client_max_body_size 0;