Configuration
J'ai installé nginx 1.2.2 et PHP 5.4.4. J'ai configuré PHP avec nginx fonctionnant comme FastCGI..user.ini php avec nginx et sous-répertoire
nginx extrait de configuration:
location ~ \.php$ {
root E:/Websites/localhost;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME E:/Websites/localhost/$fastcgi_script_name;
include fastcgi_params;
}
J'ai un certain nombre de sites virtuels locaux en cours d'exécution sur le même système. Pour personnaliser chacune des exigences j'ai créé le fichier .user.ini dans chaque dossier racine des sites qui, selon la documentation PHP, devrait également s'appliquer sur les sous-dossiers.
Veuillez noter que ceci est un environnement de développement et n'est pas en ligne. J'ai donc la possibilité de personnaliser un certain nombre de choses.
Problème
Quand j'accéder à un site du navigateur, il fonctionne très bien à moins que je ne plonge pas dans certains sous-dossier. Il semble que .user.ini ne fonctionne pas dans les sous-répertoires - du moins dans ma configuration.
Comme par document PHP (http://www.php.net/manual/en/configuration.file.per-user.php):
En plus du fichier php.ini principal, les analyses de PHP pour les fichiers INI dans chaque répertoire , commençant par le répertoire du fichier PHP demandé, et son chemin jusqu'à la racine du document en cours
SOS
quelqu'un at-il configuré .user. ini sous nginx - vous demander s'il vous plaît aidez-moi.
Note: Quelqu'un a signalé un bug en 2009: https://bugs.php.net/bug.php?id=50374
Plus d'informations (EDIT)
phpinfo() dit (dans la racine, ainsi que dans des sous-dossiers):
* API Server: CGI/FastCGI
* user_ini.filename: .user.ini (local, ainsi que maître)
php_sapi_name() dit cg i-fcgi
Ces valeurs sont présentes dans phpinfo() à partir du dossier racine et des sous-répertoires. Donc, il n'y a pas de différence dans PHPInfo().
Une confirmation supplémentaire qu'il fonctionne comme CGI/FastCGI est que le dossier racine prend des configurations de .user.ini mais pas des sous-dossiers.
// .user.ini
auto_prepend_file = "E:\Websites\localhost\user.ini.php"
et
// user.ini.php
<?php
printf('Hi from: %s', __FILE__);
?>
Cela peut effectivement être un bug, mais a tout le monde configuré PHP avec nginx de cette manière et n'a pas fait face à ce problème. Demande de partager les numéros de version et la plateforme dans ce cas.
Il semble que ce soit vraiment un bug. –
Oui Bruni on dirait que c'est encore un bug après avoir été signalé il y a plus de 2 ans. Mais je repose mes espoirs sur les utilisateurs de nginx qui ont peut-être rencontré le même problème. – user1402647
Ce n'est pas un bug. Voir mon message ci-dessous. – Dayo