nginx + php5-fpm tidak berfungsi dengan baik. Saya melihat layar putih saja


11

Saya baru saja menginstal nginx dan php5-fpm dan saya ingin mengujinya di port 82. Jadi saya menelepon http://mysite.com:82/test555.php dan saya tidak melihat apa-apa. Hanya layar putih. Tidak ada kesalahan, tidak ada peringatan, saya tidak melihat apa-apa sama sekali :) Ada log kesalahan nginx dan log kesalahan php5-fpm - tapi ... Tidak ada kesalahan. Saya tidak mengerti apa yang salah. Tolong bantu saya untuk mengetahuinya.

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

Apa yang bisa saya lakukan selanjutnya untuk mencari tahu apa yang terjadi? Saya melihat itu harus berfungsi dengan baik. Script PHP mengembalikan saya kode = 200 tetapi saya tidak melihat hasilnya. Tidak pernah dipanggil, karena saya mencoba menambahkan file_put_contents di sana dan itu benar-benar tidak pernah dipanggil oleh nginx.

Saya menggunakan ubuntu 12.04 yang sepenuhnya ditingkatkan hari ini.


Apa isinya /var/log/nginx/nginx-errors.com.log?
samiam

Lihat apakah ini relevan: bbs.archlinux.org/viewtopic.php?id=101750
mkc

Saya memiliki masalah yang sama, nginx sedang memproses setengah halaman kemudian berhenti. Tidak ada kesalahan pada log nginx. Saya memperbaikinya dengan mengubah buffering nginx fastcgi. Lihat stackoverflow.com/a/43294078/1008916
Mugoma J. Okomba

Jawaban:


16

T&J SO ini sepertinya adalah masalah Anda, berjudul: nginx yang menampilkan halaman PHP kosong .

locationBait Anda harus terlihat mirip dengan ini:

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

Anda harus memberi perhatian khusus pada jalur ke skrip yang Anda referensikan fastcgi_param.

Referensi


Ya, itu salah saya. Saya telah menambahkan baris: "include fastcgi_params;" ke lokasi dan sekarang berfungsi!
JavaRunner

@JavaRunner - senang mendengar masalah Anda telah diatasi!
slm

13

Ini mungkin bermanfaat bagi orang lain yang menghadapi masalah ini,

Anda juga dapat menambahkan ke file conf nginx Anda fastcgi_paramspada baris berikut, jadi Anda tidak perlu menentukan path ke variabelSCRIPT_FILENAME

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

Ini sangat berguna khususnya ketika Anda memiliki banyak host virtual.


terima kasih, ini jauh lebih baik daripada memasukkan jalur yang berbeda sepanjang waktu
krdx

1
Ini memecahkan masalah saya di Ubuntu 14,04 instal baru yang nginx berasal dari repositori. Terima kasih!
Arda
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.