Domanda

Io uso la seguente configurazione per nginx: http://gist.github.com/340956

Tuttavia, questa configurazione causa un errore di No input file specified con PHP. L'unico modo sono stato in grado di risolvere è alterando questa linea:

fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;

Si noti la "/" tra il $document_root e $fastcgi_script_name. Sono stato informato che questa è la configurazione di sbagliato, ma nessuno è stato in grado di dirmi esattamente perché la mia configurazione richiede questa barra supplementare.

Come posso liberarmi di quella barra in più?

È stato utile?

Soluzione

Proprio di fronte lo stesso problema (in installazione remi di nginx + php-fpm sul server RHEL6), è possibile risolverlo aggiungendo la seguente riga in / etc / nginx / fastcgi_params

fastcgi_param  SCRIPT_FILENAME    $request_filename;

Ho trovato questa linea manca in RHEL, durante la sua presenza in un nginx Debian perfettamente funzionante.

Altri suggerimenti

Il il PATH_TRANSLATED param ottenere il corretto URI? Sto pensando che sia il concatenamento immediata delle variabili nel file di configurazione che non calcola. Quando si aggiunge una barra tra di loro, forse sono interpretati correttamente.

Quando si ottiene il No input file specified errore, controllare il registro per vedere cosa è stato richiesto URI.

Rimuovi try_files $uri index.php$uri; in linea 3.

questione di preferenze. Finché si sono coerenti, in entrambi i casi è bene.

O aggiungere la barra nel file di configurazione, e accertarsi che non siano barre aggiuntivi alla fine e inizio del nome radice del documento e scrittura rispettivamente o viceversa.

che cosa accade quando si aggiunge in modo esplicito una direttiva radice in questo modo:

location ~ \.php$ {
    # fastcgi_split_path_info ^(.+\.php)(.*)$;
    include fastcgi.conf;

    root /var/www/my_webroot;

    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top