php-iniphp

What is the difference between 'local value' and 'master value'?


When I display phpinfo(); I see two columns: local value and master value. When will the web server choose local value and when will it choose master value?


Solution

  • master is either the value compiled into PHP, or set via a main php.ini directive. I.e., the value that's in effect when PHP fires up, before it executes any of your code.

    local is the value that's currently in effect at the moment you call phpinfo(). This local value is the end result of any overrides that have taken place via ini_set() calls, php_value directives in httpd.conf/.htaccess, etc.

    For example,

    php.ini:     foo=bar
    httpd.conf:  php_value foo baz
    .htaccess:   php_value foo qux
    ini_set:     ini_set('foo', 'kittens');
    .user.ini    foo=bar   # this file works conditionally see https://stackoverflow.com/a/32193087/1818723
    

    Given that, the master value is qux, and the local value is kittens.