GNU/Linux >> Linux Esercitazione >  >> Linux

NginX + PHP-FPM visualizza pagine php vuote

In base alla tua configurazione, hai due server{...} blocchi che sono esattamente gli stessi. Quindi, prima di iniziare a spiegare cosa c'è che non va nella tua configurazione, devi fornire maggiori dettagli. Vedi sotto per alcuni suggerimenti per la risoluzione dei problemi.

Per ora, posterò qui il mio ed evidenzierò alcuni directives che contano.

Il mio /etx/nginx/conf.d/default.conf ha il seguente aspetto

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

}

Le seguenti direttive sono importanti:

server_name mydmaiin.nl; <-- Questo è univoco per ogni blocco del server.

root /var/www/mydomain.nl/public_html/; <-- Questa è la radice che contiene il tuo sito web/dati.

Il resto è banale.

Quindi prendiamo il /etc/php-fpm.d/www.conf archiviare ed esaminare. Hai scelto di utilizzare un file socket

listen = /var/run/php-fpm/php-fpm.sock <-- php-fpm comunicherà con nginx attraverso questo file. Quindi questo è il mio www.conf file a meno che non ti sia perso qualcosa. Ho filtrato tutte le righe commentate. Quindi queste sono le righe non commentate.

[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

Risoluzione dei problemi

1) Vedere i permessi della directory. In questo caso /usr/share/nginx/html

2) Vedere la registrazione degli errori php-fpm. Controlla se il file di configurazione si sta caricando correttamente, eseguendo

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

3) Cambia log_level = debug in /etc/php-fpm.conf

4) Torna con maggiori dettagli!


Linux
  1. Utilizzo di PHP nelle pagine html

  2. nginx - 413 Entità richiesta troppo grande

  3. Come installare LEMP Stack Nginx, MySQL, PHP su Ubuntu 22.04

  4. Come configurare Nginx per eseguire PHP utilizzando PHP-FPM

  5. Attivato cgi.fix_pathinfo ancora pericoloso in Nginx?

Installazione di Nginx con PHP (come PHP-FPM) e MariaDB (LEMP) su Debian 8

Installa Nginx + MariaDB + PHP su Fedora 27 / Fedora 26

Come installare Nginx + PHP5-FPM + MySQL su LinuxMint 18 / LinuxMint 17

Come installare Nginx con PHP-FPM su Debian 10

Come configurare PHP-FPM con NGINX

Come installare LEMP (Nginx, MariaDB, PHP) su Centos 7