本地值和主值之间有什么区别

Lia*_*van 67 php phpinfo php-ini

当我显示phpinfo();我看到两列: local valuemaster value.什么时候网络服务器会选择local value什么时候会选择master value

Mar*_*c B 67

master是编译成PHP的值,还是通过main php.ini指令设置的值.例如,PHP在执行任何代码之前启动时生效的值.

local是您呼叫时当前生效的值phpinfo().此本地值是通过ini_set()调用,php_valuehttpd.conf/.htaccess中的指令等进行的任何覆盖的END结果.

例如

php.ini:     foo=bar
httpd.conf:  php_value foo baz
.htaccess:   php_value foo qux
ini_set:     ini_set('foo', 'kittens');
Run Code Online (Sandbox Code Playgroud)

鉴于此,master值为qux,local值为kittens.

  • 是的....当你调用phpinfo()时,本地总是现在有效. (3认同)
  • 根据你写的内容,主值不是'bar',因为它是在php.ini文件中设置的吗? (3认同)
  • @MarcB :我认为根据答案的第一段,答案的最后一行应该是“鉴于此,主值为 bar,本地值为 baz(如果在 httpd.conf 中设置),qux(如果设置在 .htaccess 中),小猫(如果使用 ini_set 设置)”。如果我正确理解了这个概念并且我建议的最后一个陈述也是正确的,请将答案的最后一个陈述更改为我建议的答案以消除混淆。 (3认同)
  • 答案中不清楚 .user.ini 文件也可以更改本地值。我建议编辑答案以明确说明。 (2认同)
  • @MarcB:请更新您的答案以清除对`主值``qux`造成的混淆 (2认同)

Leg*_*nar 14

可以使用php_value指令在httpd.conf,.htaccess或其他Apache配置中使用"Local Value"覆盖"Master Value"(来自php.ini).

第一个是本地值,第二个是全局值.本地值覆盖全局值,并在PHP,HTACCESS等中设置,而全局值在php.ini中设置.要回答您的问题,请使用第一个值.

  • 第一个是本地值,第二个是全局值.本地值覆盖全局值,并在PHP,HTACCESS等中设置,而全局值在php.ini中设置.要回答您的问题,请使用第一个值; 本地值= 0 (7认同)
  • 因此,例如,如果本地值= 0,但主值= 1440,则Web服务器将始终使用0,对吗? (6认同)

小智 5

托管网站将检查本地值.htaccess.user.ini第一。(这些文件在您的本地网站文件夹中,也可以说是本地级别的配置文件。)

本地值会覆盖主值,因此php将首先检查本地值。

主值设置在php.ini(主 PHP 配置文件)中。在终端中运行以下命令以找到正确的路径:

php -i | grep 'Configuration File'
Run Code Online (Sandbox Code Playgroud)

或者

php -i | grep php.ini
Run Code Online (Sandbox Code Playgroud)

所以即使我们在 中设置主值php.ini,我们也需要检查.htaccess或 中的本地值.user.ini