Ces modes déterminent quand et où une directive PHP peut ou ne peut pas être modifiée, et chaque directive du manuel fait référence à un de ces modes. Par exemple, certaines directives peuvent être modifiées dans un script PHP avec la fonction ini_set(), alors que d'autres ont besoin d'être modifiées dans les fichiers php.ini ou httpd.conf.
Par exemple, la directive
output_buffering a le mode
INI_PERDIR alors elle ne peut pas être modifiée
avec la fonction ini_set(). D'un autre côté, la directive
display_errors a le mode
INI_ALL, et peut être modifiée n'importe où,
y compris avec la fonction ini_set().
INI_USER
(int)
L'entrée peut être définie dans des scripts utilisateur (comme avec ini_set()) ou dans le registre Windows. L'entrée peut être définie dans .user.ini
INI_PERDIR
(int)
L'entrée peut être définie dans php.ini, .htaccess, httpd.conf ou .user.ini
INI_SYSTEM
(int)
L'entrée peut être définie dans php.ini ou httpd.conf
INI_ALL
(int)
L'entrée peut être définie n'importe où