Erreur liée à max post size, upload max file size, max execution time, max input time ou memory limit
Si vous rencontrez des erreurs lors de requêtes telles que :
- PostTooLargeException in ValidatePostSize.php line XX
- HTTP 500 Payload Too Large
- Unable to decode input (ex. : lors du téléversement d'images)
- Erreurs liées à la taille, au temps ou à la limite de mémoire
Vérifiez ces paramètres dans votre fichier php.ini :
- max_file_size
- upload_max_filesize
- post_max_size
Le problème survient généralement parce que la valeur par défaut de max_file_size est inférieure à la taille de votre fichier.
Solution
Plusieurs variables de votre fichier php.ini doivent être ajustées :
- post_max_size
- upload_max_filesize
- max_execution_time
- max_input_time
- memory_limit
Exemple de configuration pour des téléversements de fichiers de 17 Mo :
post_max_size = 128M upload_max_filesize = 64M max_execution_time = 120 max_input_time = 240 memory_limit = 512M
Solutions avancées
Paramètres Nginx : Configurez client_max_body_size dans nginx.conf. La valeur par défaut est 1m, limitant les requêtes POST à 1 Mo. Augmentez à 20m ou plus selon vos besoins.
Paramètres Apache : Vérifiez LimitRequestBody dans votre configuration Apache. Contrairement à Nginx, Apache n'a pas de restrictions par défaut, donc une modification peut ne pas être nécessaire.