« Environnement - max input vars » : différence entre les versions

De MoodleDocs
Aller à :navigation, rechercher
m (Typo)
m (French link)
 
(Une version intermédiaire par le même utilisateur non affichée)
Ligne 9 : Ligne 9 :
La valeur par défaut de max_input_vars dans PHP est '''1000''', ce qui est insuffisant dans de nombreux cas.
La valeur par défaut de max_input_vars dans PHP est '''1000''', ce qui est insuffisant dans de nombreux cas.


Si vous utilisez PHP 7, la valeur recommandée dans Moodle pour '''max_input_vars''' est de '''5000''', mais Moodle fonctionne quand même avec une valeur inférieure. Le code source de Moodle comprend une solution de contournement qui permet d'envoyer des formulaires même avec un nombre plus élévé de variables d'entrée, mais cette solution n'est pas parfaite. Il est tout à fait préférable de modifier le réglage.
Si vous utilisez PHP 7, la valeur recommandée dans Moodle pour '''max_input_vars''' est de '''5000''', mais Moodle fonctionne quand même avec une valeur inférieure. Le code source de Moodle comprend une solution de contournement qui permet d'envoyer des formulaires même avec un nombre plus élevé de variables d'entrée, mais cette solution n'est pas parfaite. Il est tout à fait préférable de modifier le réglage.


Si vous utilisez PHP 8, la valeur minimale de 5000 '''est requise'''.  Par défaut, PHP 8 est configuré de façon à afficher les erreurs au démarrage (voir [[https://php.watch/versions/8.0/startup-errors-enabled]]). Ceci signifie que l'avertissement concernant un dépassement de max_input_vars est affiché avant que la solition de contournement évoquée plus haut ne soit appliquée.
Si vous utilisez PHP 8, la valeur minimale de 5000 '''est requise'''.  Par défaut, PHP 8 est configuré de façon à afficher les erreurs au démarrage (voir [[https://php.watch/versions/8.0/startup-errors-enabled]]). Ceci signifie que l'avertissement concernant un dépassement de max_input_vars est affiché avant que la solution de contournement évoquée plus haut ne soit appliquée.


Pour modifier max_input_vars, vous pouvez soit la définir dans php.ini, soit la modifier lors du fonctionnement, par exemple, avec Apache, on peut créer le fichier '''.htaccess''' avec :
Pour modifier max_input_vars, vous pouvez soit la définir dans php.ini, soit la modifier lors du fonctionnement. Par exemple, avec Apache, on peut créer le fichier '''.htaccess''' avec :
<code>
<code>
php_value max_input_vars 5000
php_value max_input_vars 5000
Ligne 22 : Ligne 22 :
[[en:Environment_-_max_input_vars]]
[[en:Environment_-_max_input_vars]]
[[es:admin/environment/custom check/max input vars]]
[[es:admin/environment/custom check/max input vars]]
[[fr:Environnement - max input vars]]

Dernière version du 23 juin 2022 à 10:25

Le réglage PHP max_input_vars détermine le nombre maximal de variables d'entrée pouvant être acceptées (la limite est appliquée séparément aux variables superglobales $_GET, $_POST et $_COOKIE). S'il y a plus de variables d'entrée que ce nombre, un E_WARNING est levé et les variables d'entrées en trop sont tronquées de la requête.

Moodle comporte beaucoup de gros ou potentiellement gros formulaires, par exemple :

  • l'arbre de recherche de l'administration du site
  • l'édition de rôles
  • l'évaluation de cours avec un grand nombre de participants
  • les gros tests et les réglages des tests

La valeur par défaut de max_input_vars dans PHP est 1000, ce qui est insuffisant dans de nombreux cas.

Si vous utilisez PHP 7, la valeur recommandée dans Moodle pour max_input_vars est de 5000, mais Moodle fonctionne quand même avec une valeur inférieure. Le code source de Moodle comprend une solution de contournement qui permet d'envoyer des formulaires même avec un nombre plus élevé de variables d'entrée, mais cette solution n'est pas parfaite. Il est tout à fait préférable de modifier le réglage.

Si vous utilisez PHP 8, la valeur minimale de 5000 est requise. Par défaut, PHP 8 est configuré de façon à afficher les erreurs au démarrage (voir [[1]]). Ceci signifie que l'avertissement concernant un dépassement de max_input_vars est affiché avant que la solution de contournement évoquée plus haut ne soit appliquée.

Pour modifier max_input_vars, vous pouvez soit la définir dans php.ini, soit la modifier lors du fonctionnement. Par exemple, avec Apache, on peut créer le fichier .htaccess avec : php_value max_input_vars 5000