GNU/Linux >> Belajar Linux >  >> Linux

NginX + PHP-FPM menampilkan halaman php kosong

Menurut konfigurasi Anda, Anda memiliki dua server{...} blok yang persis sama. Jadi sebelum saya mulai menjelaskan apa yang salah dengan konfigurasi Anda, Anda perlu memberikan detail lebih lanjut. Lihat di bawah untuk beberapa petunjuk pemecahan masalah.

Untuk saat ini, saya akan memposting milik saya di sini dan menyoroti beberapa directives itu penting.

/etx/nginx/conf.d/default.conf saya terlihat sebagai berikut

server {

  # Replace this port with the right one for your requirements
  listen 80;

  # Multiple hostnames separated by spaces.  Replace these as well.
  server_name mydomain.nl;

  root /var/www/mydomain.nl/public_html/;

  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log;

  index index.php index.html;

  location / {
    # This is cool because no php is touched for static content.
    try_files $uri $uri/ /index.php;
  }

  location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
    expires max;
  }

  location ~* \.php$ {
    try_files $uri =404

    fastcgi_intercept_errors on;

    fastcgi_index   index.php;
    fastcgi_pass    unix:/var/run/php5-fpm.sock;

    include fastcgi_params;

    fastcgi_param   SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
  }

  location ~ /\.(ht|ssh) {
    deny  all;
  }

  location /status {
    include fastcgi_params;
    fastcgi_pass    unix:/var/run/php5-fpm.sock;
  }

}

Arahan berikut ini penting:

server_name mydmaiin.nl; <-- Ini unik untuk setiap blok server.

root /var/www/mydomain.nl/public_html/; <-- Ini adalah akar yang menyimpan situs/data Anda.

Sisanya sepele.

Jadi Mari kita ambil /etc/php-fpm.d/www.conf mengajukan dan memeriksa. Anda memilih untuk menggunakan soket file

listen = /var/run/php-fpm/php-fpm.sock <-- php-fpm akan berkomunikasi dengan nginx melalui berkas ini. Jadi ini adalah www.conf saya file kecuali Anda melewatkan sesuatu. Saya telah memfilter semua baris yang dikomentari. Jadi ini adalah baris yang tidak diberi komentar.

[www]
listen = /var/run/php5-fpm.sock
listen.allowed_clients = 127.0.0.1
listen.owner = nginx
listen.group = nginx
listen.mode = 0666
user = apache
group = apache
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
slowlog = /var/log/php-fpm/www-slow.log
security.limit_extensions = .php
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session

Pemecahan masalah

1) Lihat izin direktori. Dalam hal ini /usr/share/nginx/html

2) Lihat pencatatan kesalahan php-fpm. Lihat apakah file konfigurasi dimuat dengan baik, dengan menjalankan

php-fpm -y /etc/php-fpm.conf

3) Ubah log_level = debug di /etc/php-fpm.conf

4) Kembali lagi dengan detail lebih lanjut!


Linux
  1. Cara install LEMP (Linux, Nginx, MariaDB &PHP-FPM) di VPS CentOS 7

  2. Instal PHP 7.1 dengan Nginx di Ubuntu 16.04

  3. Cara Install LEMP Stack Nginx, MySQL, PHP di Debian 11

  1. Cara Menginstal PHP-FPM dengan Apache di Ubuntu 20.04

  2. Cara Mengkonfigurasi Nginx untuk Mengeksekusi PHP Menggunakan PHP-FPM

  3. Sebagai Pengguna Apa NGinx dan PHP harus dijalankan?

  1. Menggunakan PHP di halaman html

  2. nginx - 413 Permintaan Entitas Terlalu Besar

  3. Cara Mengonfigurasi Nginx agar Bekerja dengan PHP melalui PHP-FPM