Ces modes déterminent quand et où une directive PHP peut ou ne peut pas être modifiée, et chaque directive du manuel est dirigée par 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 PHP_INI_PERDIR alors elle ne peut pas être modifiée avec la fonction ini_set(). D'un autre coté, la directive display_errors a le mode PHP_INI_ALL, et peut être modifiée n'importe où, y compris avec la fonction ini_set().
Définition des modes PHP_INI_*
Mode
Signification
PHP_INI_USER
La directive peut être modifiée dans un script utilisateur, avec la fonction ini_set(), ou via la base de registre Windows. L'entrée peut être définie dans .user.ini.
PHP_INI_PERDIR
La directive peut être modifiée dans les fichiers php.ini, .htaccess, httpd.conf ou .user.ini
PHP_INI_SYSTEM
La directive peut être modifiée dans les fichiers php.ini ou httpd.conf