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(). Reportez-vous à la fonction set_time_limit() pour plus de détails.
      Votre 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. Reportez-vous
      à la documentation de votre 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é.
     
max_input_nesting_level
     int
    Définit la profondeur maximale des variables d'entrées (i.e. $_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 de hachages. S'il y a plusieurs 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.
