Base de connaissances · Environnement PHP

La variable PHP upload_max_filesize présente une valeur locale et une valeur principale différentes

Dernière mise à jour : 2025-06-07

 

La différence entre la valeur locale et la valeur principale (master value) de upload_max_filesize dans votre configuration PHP s'explique généralement par les raisons suivantes :

  1. Valeur locale: il s'agit du paramètre qui s'applique au script ou au contexte en cours (par exemple, un hôte virtuel, un répertoire ou un fichier .htaccess particulier).
  2. Valeur principale (Master Value): il s'agit du paramètre global par défaut du serveur, défini dans le fichier principal php.ini fichier géré par cPanel > Sélectionner une version de PHP.

Pourquoi ces valeurs sont différentes

Les Valeur locale d'une variable PHP est contrôlée par le développeur au moyen de commandes dans le script, tandis que la Valeur globale est gérée via cPanel > Sélectionner une version de PHP. Les valeurs locales peuvent être définies par le développeur dans le code ou dans des fichiers de configuration. Les emplacements les plus couramment utilisés pour définir des variables PHP dans le code sont :

  1. Les valeurs de remplacement peuvent être indiquées dans .htaccess, httpd.conf, .user.ini ou php.ini:
    • Si un .htaccess fichier, httpd.conf, ou la configuration d'un hôte virtuel spécifique définit une valeur pour la variable et remplace la valeur globale, la valeur locale sera différente.
  2. Définition à l'exécution dans le code PHP:
    • Un script peut utiliser ini_set() pour modifier la upload_max_filesize à l'exécution pour le script en cours.
  3. Paramètres par répertoire ou par utilisateur:
    • Les configurations PHP peuvent varier selon les répertoires ou les utilisateurs, en particulier dans les environnements d'hébergement mutualisé.
    • Elles sont définies dans des fichiers .htaccess, .user.ini ou php.ini propres à un répertoire ou à un utilisateur.
  4. Fichier de configuration du script :
    • Des scripts tels que WordPress permettent de définir ini_set() based les valeurs des variables PHP dans des fichiers de configuration comme wp-config.php 

Corriger l'écart

Pour aligner la valeur locale et la valeur principale, vous devez identifier l'endroit où la surcharge est effectuée et apporter les ajustements nécessaires.

 

Étapes de correction :

  1. Vérifiez la configuration principale dans php.ini:

    • Localisez votre php.ini fichier. Vous pouvez trouver son chemin à l'aide de :

      <?php
      phpinfo(); ?>
       
    • Recherchez la upload_max_filesize directive et définissez-la sur la valeur souhaitée. Par exemple :
       
      upload_max_filesize = 20M
  2. Assurez-vous qu'aucune surcharge n'existe dans .htaccess :

    • Si vous utilisez Apache, recherchez les .htaccess fichiers dans le répertoire courant ou dans les répertoires parents.

    • Recherchez des directives telles que :

      php_value upload_max_filesize 10M
       
    • Supprimez-les ou modifiez-les afin qu'elles correspondent à votre php.ini valeur.
  3. Recherchez les surcharges à l'exécution :

    • Examinez vos scripts PHP à la recherche de tout ini_set() appel susceptible de modifier la upload_max_filesize valeur pendant l'exécution.
  4. Vérifiez les modifications :

    • Exécutez à nouveau phpinfo() et vérifiez que la valeur locale et la valeur principale (master) sont désormais identiques.

 

Remarques :

  • Assurez-vous que la valeur de post_max_size dans php.ini est également suffisante pour gérer les téléversements. Elle doit généralement être supérieure à upload_max_filesize.
  • Assurez-vous que la valeur de memory_limit est également suffisante pour gérer les téléversements.

← Tous les articles de la base de connaissances

Tell us what you need

Compare available plans or describe your workload so we can discuss a suitable starting point.