nginx + php5-fpm не працює належним чином. Я бачу лише білий екран


11

Щойно я встановив nginx і php5-fpm, і хочу перевірити його на порту 82. Тож я дзвоню http://mysite.com:82/test555.php і нічого не бачу. Просто білий екран. Ні помилок, ні попереджень, я нічого не бачу :) Є журнал помилок nginx та журнал помилок php5-fpm - але ... Немає жодних помилок. Я не відкидаю, що не так. Будь ласка, допоможіть мені це дізнатися.

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:#

Що я можу зробити далі, щоб дізнатися, що відбувається? Я бачу, це повинно працювати добре. PHP-скрипт повертає мені код = 200, але я не бачу виводу. Він ніколи не називався, тому що я намагався додати file_put_contents туди, і він насправді ніколи не викликав nginx.

Я сьогодні використовую повністю оновлений ubuntu 12.04.


Який вміст /var/log/nginx/nginx-errors.com.log?
саміам

Перевірте, чи це стосується: bbs.archlinux.org/viewtopic.php?id=101750
mkc

У мене була подібна проблема, nginx обробляв сторінку наполовину, а потім зупинявся. У журналах nginx не було помилок. Я виправив це, змінивши буферизацію nginx fastcgi. Див stackoverflow.com/a/43294078/1008916
Mugoma J. Okomba

Відповіді:


16

Це SO Q & A звучить , як це може бути ваше запитання, під назвою: Nginx показуючи порожні PHP сторінок .

Ваша locationстрофа повинна виглядати приблизно так:

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;
}

Ви повинні звернути особливу увагу на шлях до сценарію, на який ви посилаєтесь fastcgi_param.

Список літератури


Так, це була моя вина. Я додав рядок: "включати fastcgi_params;" до місця розташування, і зараз це працює!
JavaRunner

@JavaRunner - рада почути вашу проблему!
slm

13

Це може бути корисно іншим, хто стикається з цією проблемою,

Ви також можете додати у свій файл nginx conf fastcgi_paramsнаступний рядок, тому вам не потрібно вказувати шлях до змінноїSCRIPT_FILENAME

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

Це дуже зручно спеціально, коли у вас багато віртуальних хостів.


дякую, це набагато краще, ніж весь час
включати

1
Це вирішило мою проблему з Ubuntu 14.04 lts свіжою установкою, яка nginx надходила з сховищ. Спасибі!
Арда
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.