Comment augmenter la taille limite de téléchargement de fichier PHP
Si vous avez une application Web qui télécharge des fichiers sur le serveur via un script PHP, vous avez peut-être remarqué que par défaut, vous ne pouvez pas télécharger de fichiers très volumineux. Voici comment le changer.
La raison pour laquelle la limite est définie par défaut assez faible est pour des raisons de stabilité et de sécurité - un script malveillant ou un attaquant pourrait essayer de DoS votre serveur avec des téléchargements de fichiers volumineux et arrêter temporairement votre application.
Pour changer les valeurs, vous aurez besoin de modifier votre fichier php.ini, qui se trouve normalement dans ce chemin:
/etc/php.ini
Voici les paramètres que vous souhaitez modifier:
post_max_size
Ce paramètre contrôle la taille d'une publication HTTP. Elle doit être supérieure au paramètre upload_max_filesize..
upload_max_filesize
Cette valeur définit la taille maximale d'un fichier de téléchargement..
limite_mémoire
Assurez-vous que la limite de mémoire du script est définie sur une taille correcte, probablement supérieure à l'un des deux autres paramètres..
Réglage des variables
Vous pouvez définir les valeurs en utilisant une valeur numérique suivie de M pour le montant en Mo que vous souhaitez allouer pour chaque variable. Par exemple, pour autoriser le téléchargement de fichiers de 20 Mo, vous utiliseriez quelque chose comme ceci:
memory_limit = 64M
upload_max_filesize = 20M
post_max_size = 25M
Une fois cette modification effectuée, vous devrez redémarrer votre serveur Apache à l'aide de la commande suivante:
/etc/init.d/httpd restart
Définition de la taille de téléchargement par application
Vous pouvez modifier ce paramètre pour une application Web spécifique en le plaçant dans le fichier .htaccess, dans le répertoire de l'application. Notez que cela ne fonctionnera que si votre serveur a activé les remplacements pour votre hôte virtuel ou votre serveur..
Par exemple, vous pouvez mettre ce qui suit dans le fichier:
php_value memory_limit = 64M
php_value upload_max_filesize = 20M
php_value post_max_size = 25M
Une fois le fichier sauvegardé, les modifications doivent être appliquées..