Comment utiliser correctement `.de l'utilisateur.ini`-fichier en PHP?
Dans mon répertoire de travail, j'ai deux fichiers: index.php
et .user.ini
:
.user.ini
:
display_errors=on
; http://be2.php.net/manual/en/filter.configuration.php#ini.filter.default
;filter.default = "full_special_chars"
index.php
:
<?php
//ini_set("display_errors", "on");
//Use `.user.ini` file:
//http://php.net/manual/en/configuration.file.per-user.php
echo "Setting for 'user_ini.filename': " . ini_get("user_ini.filename");
echo "\n\n";
//It takes up to five minutes, until `.user.ini` is re-read:
echo "Setting for 'user_ini.cache_ttl': " . ini_get("user_ini.cache_ttl");
echo "\n\n";
//http://php.net/manual/en/function.ini-get.php
echo "Setting for 'display_errors': " . ini_get("display_errors");
echo "\n\n";
echo "Setting for 'filter.default': " . ini_get("filter.default");
echo "\n\n";
//php -S localhost:8000
//http://localhost:8000/
À l'aide de la .user.ini
-fichier (dans mon répertoire de travail), je m'attends à la "Setting for 'display_errors': "
ayant une valeur de on
ou 1
, mais elle est vide.
Comment mettre correctement en modifier les paramètres à l'aide de la .user.ini
-fichier?
de course php --ini
résultats dans
Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File: /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d
Additional .ini files parsed: /etc/php5/cli/conf.d/05-opcache.ini,
/etc/php5/cli/conf.d/10-pdo.ini,
/etc/php5/cli/conf.d/20-json.ini,
/etc/php5/cli/conf.d/20-readline.ini
qui ne contient pas de mon .user.ini
-fichier.
Ajoutant explicitement la .user.ini
-fichier fonctionne:
php --php-ini .user.ini index.php
mais j'aimerais qu'il soit de lire automatiquement lors de l'exécution du script à partir d'un dossier donné.
OriginalL'auteur Edward | 2015-08-24
Vous devez vous connecter pour publier un commentaire.
Dans le la documentation il dit:
et
Donc, si vous exécutez PHP comme module Apache, à partir de la ligne de commande, ou à l'aide de la builtin-Serveur, le
.user.ini
-les fichiers ne sont pas traitées.Pour trouver votre Serveur de l'API, il suffit de générer un script PHP avec le contenu suivant et de l'appeler dans votre navigateur:
Vous pouvez utiliser
php_sapi_name()
.Est-ce de travailler pour PHP du serveur web local?
oui, mais uniquement si votre serveur est configuré en tant que module FastCGI. Vous pouvez le reconnaître par la vérification de la fonction phpinfo(); dans la rangée
Server API
.Mes tests ont montré qu'il ne fonctionne pas pour
php -S
.OriginalL'auteur R_User
Selon http://php.net/manual/en/configuration.file.per-user.php
Vérifier
user_ini.filename
dans votre principalephp.ini
pour s'assurer qu'il n'est pas vide et il est en effet analysée. Si sa valeur est vide, alors PHP ne scanne pas du tout.Également la valeur de
user_ini.cache_ttl
Veuillez jeter un oeil à
php.net manuel
Également vérifier cette question
Chargement d'un .de l'utilisateur.ini de PHP fichier conf à l'aide de PHP 5.4 interne du serveur?
index.php
déjà fait. La sortie est:Setting for 'user_ini.filename': .user.ini
etSetting for 'user_ini.cache_ttl': 300
. Ainsi, au moins au bout de cinq minutes les bons paramètres doivent être retournés par leindex.php
- mais ils ne sont pas,...OriginalL'auteur Alex Andrei