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.


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


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.


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.