web-dev-qa-db-ja.com

ローカル値とマスター値の違いは何ですか

phpinfo();を表示すると、local valuemaster valueの2つの列が表示されます。 Webサーバーがlocal valueを選択するときとmaster valueを選択するとき

60
Liauchuk Ivan

masterは、PHPにコンパイルされた値、またはメインの_php.ini_ディレクティブを介して設定された値です。例えばPHPのときに有効な値は、コードを実行する前に起動します。

localは、phpinfo()を呼び出した時点で現在有効な値です。このローカル値は、ini_set()呼び出し、httpd.conf/.htaccessの_php_value_ディレクティブなどを介して行われたオーバーライドのEND結果です。

例えば.

_php.ini:     foo=bar
httpd.conf:  php_value foo baz
.htaccess:   php_value foo qux
ini_set:     ini_set('foo', 'kittens');
_

その場合、master値はquxであり、local値はkittensです。

57
Marc B

「php.iniからの」「マスター値」は、httpd.conf。htaccessの「ローカル値」でオーバーライドできます。 php_valueディレクティブを使用した他のApache設定。

最初はローカル値、2番目はグローバル値です。ローカル値はグローバル値をオーバーライドし、PHP、HTACCESSなどで設定されますが、グローバル値はphp.iniで設定されます。質問に答えるために、最初の値が使用されます。

10
Legionar

ホストされたWebサイトは、最初に.htaccessまたは.user.iniのローカル値をチェックします(これらのファイルはローカルWebサイトのフォルダーにあり、ローカルレベルの構成ファイルとも言えます)。

ローカル値はマスター値をオーバーライドするため、phpは最初にローカル値をチェックします。

php.ini(メインphp設定ファイル)に設定されたマスター値は、ターミナルで次のコマンドを実行して正しいパスを見つけます。

php -i | grep 'Configuration File'

または

php -i | grep php.ini

php.iniにマスター値を設定した場合でも、ローカル値.htaccessまたは.user.iniも確認する必要があります

0
admin luxeron