Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.
| 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. |
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().
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.
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.
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.
Cette fonctionnalitĂ© est OBSOLĂTE Ă partir de PHP 8.3.0. DĂ©pendre de cette fonctionnalitĂ© est fortement dĂ©conseillĂ©.
assert.quiet_eval
bool
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.
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.
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.