101 votes

Quelle est la différence entre la 'valeur locale' et la 'valeur maître'?

Lorsque j'affiche phpinfo(); je vois deux colonnes : valeur locale et valeur principale. Quand le serveur web choisira-t-il valeur locale et quand choisira-t-il valeur principale ?

96voto

Marc B Points 195501

master est soit la valeur compilée dans PHP, soit définie via une directive principale php.ini. C'est-à-dire, la valeur qui est en vigueur lorsque PHP démarre, avant d'exécuter votre code.

local est la valeur qui est actuellement en vigueur au moment où vous appelez phpinfo(). Cette valeur locale est le résultat final des remplacements qui ont eu lieu via des appels à ini_set(), des directives php_value dans httpd.conf/.htaccess, etc.

Par exemple,

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   # ce fichier fonctionne de manière conditionnelle voir https://stackoverflow.com/a/32193087/1818723

Étant donné cela, la valeur master est qux, et la valeur local est kittens.

16voto

Legionar Points 5710

"Valeur maître" (de php.ini) peut être remplacée par "Valeur locale" dans httpd.conf, .htaccess ou autre configuration Apache avec la directive php_value.

La première est la valeur locale et la seconde est la valeur globale. La valeur locale remplace la valeur globale et est définie dans PHP, HTACCESS, etc., tandis que la valeur globale est définie dans php.ini. Pour répondre à votre question, la première valeur est utilisée.

7voto

Nittn Warshne Points 71

Le site hébergé vérifiera d'abord les valeurs locales dans .htaccess ou .user.ini. (Ces fichiers se trouvent dans le dossier de votre site web local et peuvent également être appelés fichiers de configuration de niveau local.)

Les valeurs locales remplacent les valeurs maîtresses, donc php vérifiera d'abord les valeurs locales.

La valeur maîtresse est définie dans php.ini (fichier de configuration principal de PHP). Exécutez les commandes suivantes dans le terminal pour trouver le chemin correct:

php -i | grep 'Configuration File'

ou

php -i | grep php.ini

Donc même si nous définissons des valeurs maîtresses dans php.ini, nous devons également vérifier les valeurs locales dans .htaccess ou .user.ini.

Voici une explication de quand .htaccess vs .user.ini fonctionne https://stackoverflow.com/a/32193087/1818723

0voto

rwp Points 46

Local est en ligne ou à l'échelle de l'utilisateur tandis que master est une option de configuration à l'échelle du système.

ce serait plus facile et plus rapide à comprendre si cela était nommé "global" au lieu de master

puisque les fichiers cachés .user.ini et .htaccess sont propres au site, ils contiennent des valeurs locales ainsi que la fonction ini_set pour définir des options dans le fichier .php

les fichiers PHPRC et PHP_INI_SCAN_DIR contiendraient les valeurs maîtresses (globales, à l'échelle du système)

PHPRC : /etc/php.ini

PHP_INI_SCAN_DIR : /etc/php/*.ini

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X