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/
Utilisation de ce qui précède .user.ini
- fichier (dans mon répertoire de travail) J'attends le "Setting for 'display_errors': "
ayant une valeur de on
ou 1
, mais c'est vide.
Comment modifier correctement les paramètres à l'aide de .user.ini
-fichier?
fonctionnement php --ini
résulte en
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 mon .user.ini
-fichier.
Ajout explicite du .user.ini
- fichier fonctionne:
php --php-ini .user.ini index.php
mais j'aimerais qu'il soit lu automatiquement lors de l'exécution du script à partir d'un dossier donné.
Dans le documentation il dit:
Ces fichiers sont traités uniquement par le CGI/FastCGI SAPI
et
Si vous utilisez Apache, utilisez
.htaccess
fichiers pour le même effet.
Donc, si vous exécutez PHP en tant que module Apache, à partir de la ligne de commande ou en utilisant le serveur intégré, le .user.ini
- les fichiers ne sont pas traités.
Pour connaître votre API de serveur, générez simplement un script PHP avec le contenu suivant et appelez-le dans votre navigateur Web:
<? phpinfo();
Selon http://php.net/manual/en/configuration.file.per-user.php
Vérifier user_ini.filename
dans votre principale php.ini
pour vous assurer qu'il n'est pas vide et qu'il est bien analysé. Si sa valeur est vide alors PHP ne scanne pas du tout.
Voir également la valeur de user_ini.cache_ttl
Veuillez jeter un œil à
Consultez également cette question Chargement d'un fichier .user.ini PHP conf fichier en utilisant le PHP 5.4 serveur interne?