105 votes

La longueur du contenu POST dépasse la limite

Je reçois des erreurs similaires dans mon error_log en php lorsque les utilisateurs téléchargent leurs fichiers

Avertissement PHP : La longueur du contenu POST de 11933650 octets dépasse la limite de 8388608 octets dans Inconnu à la ligne 0

Dans mon php.ini (fichier ini personnalisé créé dans public_html), est-ce que cela résoudrait ce problème, à combien devrais-je le régler à environ 1 Go ? Je vais changer mes paramètres à cela dans php.ini, est-ce que cela résoudra le problème ?

upload_max_filesize = 1000M ;1GB
post_max_size = 1000M

À quelle limite devrais-je régler la valeur de 'memory_limit'.

Aussi, serait-il correct dans mon script de vérifier que la taille du fichier téléchargé est <1 Go

if($_FILES["uploadedfile"]["size"]<1000000)

7voto

Dans certains cas, vous devez augmenter le temps d'exécution maximum.

max_execution_time=30

Je l'ai fait

max_execution_time=600000

et j'étais content.

5voto

Irfandi D. Vendy Points 162

Il pourrait y avoir plus d'un fichier php.ini. Par exemple, lorsque vous utilisez WAMP, il y a 2 fichiers php.ini dans les répertoires suivants:

  • C:\wamp\bin\apache\apache2.4.9\bin
  • C:\wamp\bin\php\php5.5.12

Vous devez éditer le premier.

5voto

Marcio Muzzi Points 41

Je ne suis pas d'accord, mais la solution pour augmenter la taille du fichier dans php.ini ou .htaccess ne fonctionnera pas si l'utilisateur envoie un fichier plus grand que ce qui est autorisé par l'application serveur.

Je suggère de valider cela côté client. Par exemple:

$(document).ready(function() {
    $ ('#your_input_file_id').bind('change', function() {
        var fileSize = this.files[0].size/1024/1024;
        if (fileSize > 2) { // 2M
            alert('Votre message personnalisé pour fichier trop volumineux');
            $('#your_input_file_id').val('');
        }
    });
});

3voto

Satyanarayana Points 129

Si vous utilisez les versions Php 5.6.X sous Windows en utilisant Wamp, alors l'emplacement du fichier peut être dans,

C:\Windows\php.ini

Essayez simplement avec

post_max_size = 100M;

Essayez de faire des modifications dans le fichier Apache. Ainsi, votre fichier .ini de Wamp/XAMP se chargera

0voto

ADRIS MALYA Points 1

Si vous utilisez Laravel et que vous utilisez artisan:serve pour exécuter un projet Laravel, vous pouvez créer un fichier php.ini dans votre répertoire public, puis spécifier votre configuration.

  • file_uploads = On
  • max_execution_time = 300
  • post_max_size = 20480M
  • upload_max_filesize = 20480M

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X