These modes determine when and where a PHP directive may or may not be set, and each directive within the manual refers to one of these modes. For example, some settings may be set within a PHP script using ini_set(), whereas others may require php.ini or httpd.conf.
For example, the output_buffering setting is INI_PERDIR therefore it may not be set using ini_set(). However, the display_errors directive is INI_ALL therefore it may be set anywhere, including with ini_set().
INI_USER (int)INI_PERDIR (int)INI_SYSTEM (int)INI_ALL (int)