It can be set to a value at compile time, and it can be set by configuration, so both is possible. Additionally, it can be modified at runtime, or by the webserver configuration. Create a simple php file just containing phpinfo()
and call it with your browser. It will show you both the configuration and the runtime value.
<?php
phpinfo();

From this answer:
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.
It will also show you all ini files that have been loaded.