Ceci fait partie de mon fichier de configuration nginx :
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name;
include fastcgi_params;
}
Le site web se charge presque car l'emplacement de / est également défini à /var/www dans ce fichier de configuration.
location / {
root /var/www;
index index.php index.html index.htm;
}
Lorsque j'utilise phpinfo() et que je lis le tableau des variables PHP, j'ai remarqué ceci :
_SERVER["DOCUMENT_ROOT"] /usr/share/nginx/html
D'autres variables (la plupart d'entre elles configurées dans nginx.conf) comme le nom du serveur, script nom de fichier, etc, ont été envoyées à php. Donc, nginx n'envoie pas cette variable à PHP. Ce que je dois faire ?
J'utilise PHP 5.3.8 et nginx 0.8.
0 votes
Déplacez votre directive "root" en dehors des blocs d'emplacement - elle doit se trouver dans le bloc serveur (et vérifiez que vous avez la ligne suivante
fastcgi_param DOCUMENT_ROOT $document_root;
dans votre fichier fastcgi_parms)0 votes
Il se trouve déjà à l'intérieur du bloc du serveur par défaut.