web-dev-qa-db-fra.com

Comment faire pour éviter l'erreur Request Entity Too Large 413

Comment éviter cette erreur 413?

Entité de demande trop grande

La ressource demandée /serverpath/reports.php n'autorise pas les données de demande avec les demandes POST, ou la quantité de données fournie dans la demande dépasse la limite de capacité.

Serveur Apache à l'adresse demo3.website_name Port 80

Alors, est-ce que quelqu'un pourrait aider à configurer php.ini et comment configurer htaccess pour autoriser le statut d'écrasement 

20
Chelz Adams

Comment résoudre ce problème sous NGINX? client_max_body_size

Pour résoudre ce problème, vous devez augmenter la valeur de la directive client_max_body_size. Cette directive définit la quantité maximale de données que Nginx acceptera dans une requête HTTP. Par défaut, cette valeur est définie sur 1 mégaoctet, ce qui signifie que si vous essayez de télécharger un fichier de plus de 1 mégaoctet, vous obtiendrez une page d'erreur 413: demander une entité trop grande. Vous pouvez insérer cette directive à trois niveaux:

  • Dans le bloc http: ceci définira la valeur de la directive pour tous les serveurs et emplacements de votre configuration.

  • Dans le bloc serveur: ceci définira la valeur de la directive pour tous les emplacements d'un serveur particulier

  • Dans le bloc d'emplacement: ceci définira la valeur de la directive pour un emplacement spécifique sur un serveur particulier

Dans cet exemple, je vais l'insérer dans mon bloc http et le définir sur 500 mégaoctets:

http {

    client_max_body_size 500M; # allows file uploads up to 500 megabytes
    [...]
}

source: http://cnedelcu.blogspot.com.ar/2013/09/nginx-error-413-request-entity-too-large.html

40
mzalazar

Essayez de rechercher la ligne suivante dans le php.ini et définissez-la à la taille souhaitée:

post_max_size = 25M

Vous pouvez ensuite le définir dans le fichier .htaccess:

php_value post_max_size 25M
2
Conrad Lotz

Sur Apache 2.4, il convient également de regarder la directive LimitRequestBody. Il peut être configuré par vhost et va dans la section <Directory>.

<VirtualHost *:80> 
  [...]
  <Directory "/var/www/public_html"> 
    [...]
    LimitRequestBody 33554432 
  </Directory> 
</VirtualHost> 

La valeur de la taille est en octets. Cela a finalement résolu le problème pour moi lorsque j’ai essayé les deux directives php.ini max size et que je continuais à avoir des erreurs. 

0
briskola

php.ini a un paramètre appelé post_max_size, qui est défini par défaut sur 8M (au moins sur Ubuntu).

Pensez à augmenter cette valeur si vous publiez beaucoup de données.

0
Bart Friederichs