Configuração em tempo de execução
PHP Manual

Onde uma configuração deve ser definida

Estes modos determinam quando e onde uma diretiva do PHP pode ou não pode ser definida, e cada diretiva no manual faz referencia a um destes modos. Por exemplo, algumas definições podem ser feitas em um script PHP usando ini_set(), enquanto outras só podem ser feitas no php.ini ou httpd.conf.

Por exemplo, a configuração output_buffering é PHP_INI_PERDIR portanto não pode ser definida usando ini_set(). Entretanto a diretiva display_errors é PHP_INI_ALL portanto pode ser definida em qualquer lugar com ini_set().

Definição dos modos PHP_INI_*
Modo Significado
PHP_INI_USER A entrada pode ser definida nos scripts do usuário (com ini_set()) ou no registro do Windows. Desde o PHP 5.3 a entrada pode ser definida no .user.ini
PHP_INI_PERDIR A entrada pode ser definida no php.ini, .htaccess, httpd.conf ou .user.ini (desde o PHP 5.3)
PHP_INI_SYSTEM A entrada pode ser definida no php.ini ou httpd.conf
PHP_INI_ALL A entrada pode ser definida em qualquer lugar


Configuração em tempo de execução
PHP Manual