php-fpm restituisce una risposta vuota a nginx


9

nginx si sta connettendo a php-fpm tramite fastcgi, usando lo standard /etc/nginx/fastcgi_paramsnel blocco posizione.

Quando ci si collega a /.status (php-fpm.ini :: ping.path) dalla riga di comando con cgi-fcgi -bind, il risultato ritorna come previsto (set X-Powered-By, corpo della risposta, ecc.).

Quando si richiede con nginx, il risultato torna vuoto (set X-Powered-By, nessuna lunghezza o contenuto del corpo). nginx restituisce 200, poiché ha ottenuto una risposta "valida".

Guardando su tcpdump, ho isolato le richieste di parità nelle intestazioni FCGI (meno le variabili env relative all'utente ancora impostate dalla shell).


Prova a passare all'utente nginx come, ed esegui nuovamente il test cgi-fcgi -bind.
Alcuni nerd Linux

Ho sempre rovinato le distribuzioni NRPE testandole come root ... ho pensato che avresti potuto fare lo stesso.
Alcuni nerd Linux

Risposte:


11

Il factcgi_paramsfile standard non contiene la riga chiave per SCRIPT_FILENAME.

location ~ \.php$ {
                include fastcgi_params;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
}

Aggiungilo e riavvia nginx.


4

Bene, la tua domanda è un po 'vaga. Un cosiddetto "schermo bianco della morte" (WSOD) potrebbe essere innescato da un'infinità di cose. Ma alcune cose che faccio se incontro questo:

  • Attiva quanto segue nel tuo php.ini:

    display_errors = 1
    display_startup_errors = 1
    error_log = /path/to/file
    error_reporting = -1 ; (the -1 activates absolutely everything)
    log_errors = 1
    
  • Attiva nel tuo php-fpm.conf:

    error_log = /path/to/file
    
  • Attiva per ogni configurazione del pool php-fpm:

    catch_workers_output = 1
    
  • Ripeti la tua richiesta e controlla tutti i registri (incl. Registro errori nginx)
  • Aumenta il livello di registrazione (ad es. Debug su nginx)

Se nulla di tutto ciò ti aiuta a individuare il problema, pubblica le informazioni e le configurazioni di sistema complete. Nessuno è in grado di darti una risposta precisa senza quella.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.