nginx + php5-fpm ne fonctionne pas correctement. Je ne vois qu'un écran blanc

11

Je viens d'installer nginx et php5-fpm et je veux le tester sur le port 82. J'appelle donc http://mysite.com:82/test555.php et je ne vois rien. Juste un écran blanc. Pas d'erreurs, pas d'avertissements, je ne vois rien du tout :) Il y a un journal d'erreurs de nginx et un journal d'erreurs de php5-fpm - mais ... Il n'y a aucune erreur. Je ne comprends pas ce qui ne va pas. Veuillez m'aider à le découvrir.

root@localhost:# echo "<?php phpinfo(); ?>" > /home/www/public_html/test555.php
root@localhost:# chmod 755 /home/www/public_html/test555.php
root@localhost:# cat /etc/nginx/sites-available/default
server {
        listen 82;
        root /home/www/public_html;
        index index.php index.html;

        server_name mysite.com;
        access_log /var/log/nginx/nginx-access.com.log;
        error_log /var/log/nginx/nginx-errors.com.log;

        location ~ \.php$ {
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                # fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME   $document_root$fastcgi_script_name;
                fastcgi_param QUERY_STRING              $query_string;
                fastcgi_param REMOTE_ADDR               $remote_addr;
        }
}

root@localhost:# /etc/init.d/nginx status
 * nginx is running

root@localhost:# /etc/init.d/php5-fpm status
 * php5-fpm is running

root@localhost:# ls -la /var/run/php5-fpm.sock
srw-rw-rw- 1 root root 0 Feb  3 01:14 /var/run/php5-fpm.sock

root@localhost:# cat /var/log/php5-fpm.log 
....
[03-Feb-2014 01:14:52] NOTICE: configuration file /etc/php5/fpm/php-fpm.conf test is successful
[03-Feb-2014 01:14:52] NOTICE: fpm is running, pid 19080
[03-Feb-2014 01:14:52] NOTICE: ready to handle connections

root@localhost:# cat /var/log/nginx/nginx-access.com.log
...ip... - - [03/Feb/2014:01:29:44 +0000] "GET /test555.php HTTP/1.1" 200 5 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:26.0) Gecko/20100101 Firefox/26.0"

root@localhost:# cat /var/log/nginx/nginx-errors.com.log

root@localhost:#

Que puis-je faire ensuite pour savoir ce qui se passe? Je vois que cela devrait bien fonctionner. Le script PHP me renvoie du code = 200 mais je ne vois pas la sortie. Il n'a jamais été appelé, car j'ai essayé d'y ajouter file_put_contents et il n'a vraiment jamais été appelé par nginx.

J'utilise Ubuntu 12.04 entièrement mis à jour aujourd'hui.

JavaRunner
la source
Quel est le contenu de /var/log/nginx/nginx-errors.com.log?
samiam
Voyez si cela est pertinent: bbs.archlinux.org/viewtopic.php?id=101750
mkc
J'ai eu un problème similaire, nginx traitait une page à mi-chemin puis s'arrêtait. Il n'y a eu aucune erreur sur les journaux nginx. Je l'ai corrigé en changeant la mise en mémoire tampon de nginx fastcgi. Voir stackoverflow.com/a/43294078/1008916
Mugoma J. Okomba

Réponses:

16

Ce SO Q&A semble être votre problème, intitulé: nginx montrant des pages PHP vierges .

Votre locationstrophe devrait ressembler à ceci:

location ~ \.php$ {
    include /path/to/fastcgi_params;
    fastcgi_pass  127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /path/to/www/dir$fastcgi_script_name;
}

Vous devez porter une attention particulière au chemin d'accès au script auquel vous faites référence fastcgi_param.

Les références

slm
la source
Ouais, c'était ma faute. J'ai ajouté une ligne: "include fastcgi_params;" à l'emplacement et maintenant cela fonctionne!
JavaRunner
@JavaRunner - heureux d'apprendre que votre problème a été résolu!
slm
13

Cela pourrait être utile à d'autres personnes confrontées à ce problème,

Vous pouvez également ajouter dans votre fichier de configuration nginx fastcgi_paramsla ligne suivante, vous n'avez donc pas besoin de spécifier le chemin d'accès à la variableSCRIPT_FILENAME

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

C'est très pratique spécialement lorsque vous avez de nombreux hôtes virtuels.

Adriano Rosa
la source
merci, c'est bien mieux que d'inclure un chemin différent tout le temps
krdx
1
Cela a résolu mon problème sur Ubuntu 14.04 lts une nouvelle installation dont nginx provenait de référentiels. Merci!
Arda