Configuration à l'exécution

Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.

Options de configuration
Nom Défaut Modifiable Historique
assert.active "1" INI_ALL ObsolĂšte Ă  partir de PHP 8.3.0
assert.bail "0" INI_ALL ObsolĂšte Ă  partir de PHP 8.3.0
assert.warning "1" INI_ALL ObsolĂšte Ă  partir de PHP 8.3.0
assert.callback NULL INI_ALL ObsolĂšte Ă  partir de PHP 8.3.0
assert.quiet_eval "0" INI_ALL Supprimé à partir de PHP 8.0.0
assert.exception "1" INI_ALL Antérieur à PHP 8.0.0, la valeur par défaut est "0" ObsolÚte à partir de PHP 8.3.0
enable_dl "1" INI_SYSTEM Cette fonctionnalité obsolÚte sera certainement supprimée dans le futur.
max_execution_time "30" INI_ALL  
max_input_time "-1" INI_PERDIR  
max_input_nesting_level "64" INI_PERDIR  
max_input_vars 1000 INI_PERDIR  
zend.enable_gc "1" INI_ALL  
zend.max_allowed_stack_size "0" INI_SYSTEM Disponible Ă  partir de PHP 8.3.0.
zend.reserved_stack_size "0" INI_SYSTEM Disponible Ă  partir de PHP 8.3.0.
fiber.stack_size   INI_ALL Disponible à partir de PHP 8.1.0.
Pour plus de dĂ©tails sur les modes INI_*, reportez-vous Ă  OĂč une directive de configuration peut ĂȘtre modifiĂ©e.

Voici un éclaircissement sur l'utilisation des directives de configuration.

assert.active bool

Active les Ă©valuations de type assert(). zend.assertions devrait ĂȘtre utilisĂ© Ă  la place pour contrĂŽler le comportement de assert().

Avertissement

Cette fonctionnalité est OBSOLÈTE à partir de PHP 8.3.0. Dépendre de cette fonctionnalité est fortement déconseillé.

assert.bail bool

Termine le script si une assertion échoue.

Avertissement

Cette fonctionnalité est OBSOLÈTE à partir de PHP 8.3.0. Dépendre de cette fonctionnalité est fortement déconseillé.

assert.warning bool

Émet une alerte PHP pour chaque assertion qui Ă©choue.

Avertissement

Cette fonctionnalité est OBSOLÈTE à partir de PHP 8.3.0. Dépendre de cette fonctionnalité est fortement déconseillé.

assert.callback string

Fonction définie par le programmeur, à appeler pour chaque assertion échouée.

Avertissement

Cette fonctionnalité est OBSOLÈTE à partir de PHP 8.3.0. Dépendre de cette fonctionnalité est fortement déconseillé.

assert.quiet_eval bool
Avertissement

Cette fonctionnalitĂ© a Ă©tĂ© SUPPRIMÉE Ă  partir de PHP 8.0.0.

Utilise la configuration courante de error_reporting() durant les évaluations d'assertions. Si activée, aucune erreur n'est affichée (error_reporting(0) implicite) durant l'évaluation. Si désactivée, les erreurs sont affichées en fonction de la configuration de error_reporting()

assert.exception bool

LÚve une exception AssertionError lors d'une assertion échouée.

enable_dl bool

Cette directive permet d'activer ou de désactiver le chargement dynamique d'extension PHP avec la fonction PHP dl().

La raison principale pour désactiver ce systÚme est la sécurité. Avec le chargement dynamique, il est possible de passer outre les restrictions imposées par open_basedir.

max_execution_time int

Fixe le temps maximal d'exécution d'un script, en secondes. Cela permet d'éviter que des scripts en boucles infinies saturent le serveur. La configuration par défaut est de 30 secondes. Lorsque PHP fonctionne depuis la ligne de commande, la valeur par défaut est 0.

Sur les systÚmes non-Windows, le temps d'exécution maximum n'est pas affecté par des appels systÚmes tels que sleep(). Se reporter à la fonction set_time_limit() pour plus de détails.

Le serveur web peut avoir d'autres configurations de la durée limite d'exécution qui peuvent également interrompre PHP. Apache a une directive Timeout et IIS a une fonction CGI pour cela. Par défaut, elles valent toutes les deux 300 secondes. Se reporter à la documentation du serveur web pour plus de détails.

max_input_time int

Cette option spĂ©cifie la durĂ©e maximale pour analyser les donnĂ©es d'entrĂ©e, comme POST et GET. Cette durĂ©e est mesurĂ©e depuis le moment oĂč PHP est invoquĂ© sur le serveur jusqu'au dĂ©but de l'exĂ©cution du script. La valeur par dĂ©faut est -1, ce qui veut dire que max_execution_time est utilisĂ© Ă  la place. RĂ©gler la valeur Ă  0 pour permettre une exĂ©cution illimitĂ©e.

max_input_nesting_level int

Définit la profondeur maximale des variables d'entrées (c.-à-d. $_GET, $_POST..)

max_input_vars int

Le nombre de variables d'entrĂ©e pouvant ĂȘtre acceptĂ©es (cette limite est appliquĂ©e aux variables superglobales $_GET, $_POST et $_COOKIE, sĂ©parĂ©ment). L'utilisation de cette directive permet de limiter les possibilitĂ©s d'attaque par dĂ©ni de service utilisant des collisions d'hachages. S'il y a plus de variables en entrĂ©e que le nombre spĂ©cifiĂ© par cette directive, une alerte de type E_WARNING sera Ă©mise, et les variables en trop seront supprimĂ©es de la requĂȘte.

zend.enable_gc bool

Active ou désactive la collecte des références circulaires.

zend.max_allowed_stack_size int

La quantitĂ© maximale de mĂ©moire de pile native (stack) autorisĂ©e par le systĂšme d’exploitation pour le programme. Tenter de consommer plus que le systĂšme ne le permet aboutit gĂ©nĂ©ralement Ă  un plantage brutal, sans informations de dĂ©bogage facilement disponibles. Pour faciliter le dĂ©bogage, le moteur dĂ©clenche une Error avant que cela ne se produise (lorsque le programme utilise plus de zend.max_allowed_stack_size-zend.reserved_stack_size octets de pile).

La rĂ©cursion dans le code dĂ©fini par l’utilisateur ne consomme pas de pile native. Cependant, les fonctions internes et les mĂ©thodes magiques, elles, consomment bien de la pile native. Une rĂ©cursion trĂšs profonde impliquant ces fonctions peut faire que le programme Ă©puise toute la mĂ©moire de pile disponible.

Les valeurs possibles pour ce paramĂštre sont :

  • 0 : DĂ©tecter automatiquement la mĂ©moire de pile native maximale que le systĂšme d’exploitation autorise pour le programme. C’est la valeur par dĂ©faut. Lorsque la dĂ©tection est impossible, une valeur par dĂ©faut du systĂšme est utilisĂ©e.
  • -1 : DĂ©sactive la vĂ©rification de la taille de la pile dans le moteur.
  • Entier positif : Une taille fixe, en octets. DĂ©finir cette valeur trop Ă©levĂ©e revient au mĂȘme que de dĂ©sactiver la vĂ©rification de la taille de la pile.

Comme la taille de pile des fibers est dĂ©terminĂ©e par fiber.stack_size, la valeur de ce paramĂštre est utilisĂ©e Ă  la place de zend.max_allowed_stack_size lors de la vĂ©rification de l’utilisation de la pile pendant l’exĂ©cution d’une Fiber.

Note:

Ceci n’a aucun lien avec les dĂ©passements de tampon de la pile (stack buffer overflows), et n’est pas une fonctionnalitĂ© de sĂ©curitĂ©.

zend.reserved_stack_size int

La taille réservée de la pile, en octets. Celle-ci est soustraite de la taille de pile maximale autorisée, comme une marge de sécurité, lors de la vérification de la taille de la pile.

Les valeurs possibles pour ce paramĂštre sont :

  • 0 : DĂ©tecter automatiquement une taille raisonnable.
  • Entier positif : Une taille fixe, en octets.
fiber.stack_size int

La taille de la pile native, en octets, allouée à chaque Fiber.

La valeur par défaut est de 1 Mio sur les systÚmes dont la taille des pointeurs est inférieure à 8 octets, ou de 2 Mio sinon.

add a note

User Contributed Notes

There are no user contributed notes for this page.