Estos modos determinan cuándo y dónde una directiva PHP puede o no puede ser modificada, y cada directiva del manual está dirigida por uno de estos modos. Por ejemplo, algunas directivas pueden ser modificadas en un script PHP con la función ini_set(), mientras que otras necesitan ser modificadas en los ficheros php.ini o httpd.conf.
Por ejemplo, la directiva
output_buffering tiene el modo
INI_PERDIR por lo que no puede ser modificada
con la función ini_set(). Por otro lado, la directiva
display_errors tiene el modo
INI_ALL, y puede ser modificada en cualquier lugar,
incluyendo con la función ini_set().
INI_USER
(int)
La entrada puede ser definida en scripts de usuario (como con ini_set()) o en el registro Windows. La entrada puede ser definida en .user.ini
INI_PERDIR
(int)
La entrada puede ser definida en php.ini, .htaccess, httpd.conf o .user.ini
INI_SYSTEM
(int)
La entrada puede ser definida en php.ini o httpd.conf
INI_ALL
(int)
La entrada puede ser definida en cualquier lugar