当我显示时,phpinfo();
我看到两列: local value
和master value
。Web 服务器什么时候选择local value
,什么时候选择master value
?
3 回答
master
是编译到 PHP 中的值,或者是通过 mainphp.ini
指令设置的值。即,PHP 启动时生效的值,在它执行任何代码之前。
local
是您调用时当前有效的值phpinfo()
。此本地值是通过调用、httpd.conf/.htaccess 中的指令等进行的任何覆盖的最终结果。ini_set()
php_value
例如,
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
鉴于此,master
值为qux
,而local
值为kittens
。
"Master Value" (from php.ini) could be overridden with "Local Value" in httpd.conf, .htaccess or other Apache configuration with the php_value directive.
The first is the local value, and the second is the global value. The local value overrides the global value and is set within PHP, HTACCESS, etc., whereas the global value is set within php.ini. To answer your question, the first value is used.
托管网站将检查.htaccess
或.user.ini
首先检查本地值。(这些文件在您的本地网站文件夹中,也可以说是本地级别的配置文件。)
本地值会覆盖主值,因此php
将首先检查本地值。
主值在php.ini
(主 PHP 配置文件)中设置。在终端中运行以下命令以找到正确的路径:
php -i | grep 'Configuration File'
或者
php -i | grep php.ini
所以即使我们在 中设置主值php.ini
,我们也需要在.htaccess
or中检查局部值.user.ini
。
这是.htaccess
vs.user.ini
工作时的解释https://stackoverflow.com/a/32193087/1818723