Menu Fermer

Augmenter taille upload (WordPress/PHP)

Lorsque votre site WordPress ou PHP possède un formulaire d’envoie de fichier, la taille maximale du fichier est limité par la configuration PHP ou WordPress.
Cette limité de la taille maximale du fichier de téléchargement pour les scripts PHP dépend des variables de configurations upload_max_filesize et post_max_size et peut aussi dépendre de la configuration du serveur WEB.

Dans ce tutoriel, je vous donne toutes les méthodes pour augmenter la taille d’upload sur votre site WordPress et sur PHP.

Augmenter taille upload (WordPress/PHP)

Augmenter taille upload (WordPress & PHP)

La limite d’upload se définit à plusieurs niveaux, soit dans le serveur PHP, soit dans le serveur WEB (selon celui utilisé), soit dans la configuration WordPress.
Si vous utilisez un hébergeur, vous n’avez probablement pas la main au serveur PHP ou Apache.
Vérifiez toutefois si dans l’interface d’administration, il est possible de modifier ce paramètre.

php.ini – modifier la configuration PHP

La configuration de PHP est définie dans le fichier php.ini.
Son emplacement diffère selon votre installation et version.

  • Editez le fichier de configuration php.ini :
    • Pour Apache : /etc/php/7.4/apache2/php.ini
    • Pour Nginx via php-fpm /etc/php/7.4/fpm/php.ini
    • Selon si vous utilisez LAMP, WAMP ou Easy PHP
  • Ensuite modifiez les valeurs suivantes :
upload_max_filesize = 128M
post_max_size = 128M
max_execution_time = 300
  • Enfin relancez le serveur PHP. Par exemple avec php-fpm :
service php7.4-fpm restart
  • Pour Apache, il faut redémarrer ce dernier :
service apache2 restart

sur Nginx

Nginx possède ses propres limites d’upload et de taille de corps de la requête HTTP.
Pour augmenter la taille d’upload sur Nginx, il faut augmenter la valeur de la directive client_max_body_size.

Choisissez à quel niveau vous souhaitez appliquer la limite :

  • Situé dans le bloc HTTP qui affecte tous les blocs de serveurs (hôtes virtuels).
http {
    ...
    client_max_body_size 128M;
}
  • Définir dans le bloc serveur qui affecte un site / application particulier.
server {
    ...
    client_max_body_size 128M;
}
  • Définir dans le bloc d’emplacemen, qui affecte un répertoire particulier (téléchargements) sous un site / application.
location /files {
    ...
    client_max_body_size 128M;
}
  • Enfin relancez la configuration nginx :
sudo service nginx reload

sur Apache via .htaccess

Si vous n’avez pas accès à la configuration PHP via php.ini, avec Apache, vous pouvez modifier la configuration PHP avec un fichier .htaccess

  • Créez un fichier .htaccess
  • Ajoutez les valeurs suivantes :
php_value upload_max_filesize 128M
php_value post_max_size 128M
php_value memory_limit 256M
php_value max_execution_time 300
php_value max_input_time 300
  • Appliquez des permissions correctes :
chmod 444 .htaccess
  • Enregistrez le fichier et vérifiez la configuration PHP (voir plus bas)

Sur WordPress (wp-config.php)

Vous pouvez aussi modifier la taille de l’upload dans la configuration de WordPress.
Toutefois, elle ne pourra pas dépasser la limite de PHP.

  • Editez le fichier wp-config.php
  • Puis ajoutez les lignes suivantes :
@ini_set( 'upload_max_filesize' , '128M' );
@ini_set( 'post_max_size', '128M');
@ini_set( 'memory_limit', '256M' );
@ini_set( 'max_execution_time', '300' );
@ini_set( 'max_input_time', '300' );

Comment vérifier la taille limite d’upload

Pour vérifier la taille limite d’upload sur PHP :

  • Créez un fichier phpinfo.php sur votre site WEB
  • Puis insérez la code suivant :
<?php
phpinfo();
?>
  • Enregistrez le fichier
  • Ensuite accédez à l’URL https://www.adressedusite.com/phpinfo.php
  • Si tout va bien la page phpinfo s’affiche avec la liste des extensions
  • Puis dans le tableau Core, vérifiez les valeurs de upload_max_filesize et post_max_size :
Pour  vérifier la taille limite d'upload sur PHP

Pour vérifier la limite de taille d’upload sur Nginx, passez la commande suivante pour vérifier la valeur de la directive client_max_body_size :

sudo nginx -T|grep client_max_body_size
vérifier la limite de taille d'upload sur Nginx