PHP : Limites d'upload
PHP impose des limites pour l'upload de fichiers. Par défaut, cette limite est de 2 megaoctets. Si vous avez un problème avec l'upload de fichiers c'est probablement parce que la taille du fichier dépasse la taille autorisée.
Propriétés
Il existe 4 propriétés :
upload_max_filesize : La taille limite des fichiers à uploader
post_max_size : La taille maximum des données envoyées avec POST. Cette limite concerne aussi les fichiers. La valeur doit être supérieure ou égale à upload_max_filesize puisque les fichiers sont uploadés avec la requête POST.
memory_limit : La mémoire limite qu'un script à le droit d'utiliser. Si vous ne voulez pas de limite, vous pouvez mettre la valeur -1 (pas recommandé). Cette limite affecte aussi l'upload des fichiers.
max_file_uploads : Le nombre limite de fichiers qui peuvent être uploadés simultanément.
Valeurs par défaut :
upload_max_filesize = 2M post_max_size = 8M memory_limit = 128M max_file_uploads = 20
memory_limit doit être superieure à post_max_size. post_max_size doit être supérieur à upload_max_filesize.
Autrement dit : memory_limit > post_max_size > upload_max_filesize
Notez que ces limites sont là par mesure de sécurité.
Si vous voulez voir un récapitulatif des propriétés. Vous pouvez exécuter le script :
<?php
// Affiche toutes les informations, comme le ferait INFO_ALL
phpinfo();
// Affiche uniquement le module d'information.
// phpinfo(8) fournirait les mêmes informations.
phpinfo(INFO_MODULES);
//Montre la localisation de php.ini
echo php_ini_loaded_file();
>
php.ini
Le fichier php.ini peut se trouver dans différents dossiers selon la configuration. Vous pouvez trouver sa localisation avec le php_ini_loaded_file (cf. script ci-dessus).
Pour apache :
/etc/php/{NO_VERSION_PHP}/apache2/php.ini
Donc pour la version 7 de php :
/etc/php/7.0/apache2/php.ini
Vous pouvez modifier les valeurs et sauvegarder les modifications.
Redémarrez apache pour prendre en compte les modifications :
service httpd restart
.htaccess
Si vous n'avez pas accès au fichier php.ini, vous pouvez modifier le fichier .htaccess qui se situe à la racine du dossier avec le sftp.
php_value upload_max_filesize = 2M php_value post_max_size = 8M php_value memory_limit = 128M php_value max_file_uploads = 20
Commentaires
Enregistrer un commentaire