nginx+fastcgi+php = No input file specified

cYc

New Member
Guten Morgen erstmal.
Ich habe auf meinem vServer nginx aufgesetzt. Ich bin strikt nach diesem Howto (Installing Nginx With PHP5 And MySQL Support On Debian Etch | HowtoForge - Linux Howtos and Tutorials) vorgegangen. Soweit sogut, die info.php Seite wird ohne Probleme angezeigt, jede andere *.php File jedoch, folgt in No input file specified.
Die php.ini ist soweit die standard Config, bis auf die "cgi.fix_pathinfo = 1" ausnahme ganz am Ende.

Das ist die nginx.conf
Code:
http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name     127.0.0.1;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm index.php;
        }

        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;
            include        fastcgi_params;
        }
}

Freue mich über jede Hilfe :)
 
Schau dir mal diese Datei an:
/etc/init.d/php-fastcgi

Dort trägst du hierzu:
Code:
DAEMON_ARGS="-q -b $FCGI_HOST:$FCGI_PORT"
ein -n:
Code:
DAEMON_ARGS="-n -q -b $FCGI_HOST:$FCGI_PORT"
Dies bedeutet, dass er die php.ini zunächst ignoriert. Danach starte alles mal neu, klappts danach mit den php Dateien? Wenn ja, liegts an der php.ini

Wenn das nicht hilft, dann vielleicht das:
http://groups.google.com/group/highload-php-en/browse_thread/thread/ea15e7e18254c45d?pli=1
 
Last edited by a moderator:
Erstmal danke für die wirklich schnelle Antwort:cool:

Schau dir mal diese Datei an: /etc/init.d/php-fastcgi

Dort trägst du hierzu:
Code:
DAEMON_ARGS="-q -b $FCGI_HOST:$FCGI_PORT"
ein -n:
Code:
DAEMON_ARGS="-n -q -b $FCGI_HOST:$FCGI_PORT"
Dies bedeutet, dass er die php.ini zunächst ignoriert. Danach starte alles mal neu, klappts danach mit den php Dateien? Wenn ja, liegts an der php.ini

Hab ich mal versucht, bringt leider aber nichts. :(

Ja den Thread hatte ich auch gefunden.
The problem with your configuration is that $document_root is set to
"/usr/local/nginx/html" for "location ~ \.php$" context.

You need either move "root html/myvhost1.com;" from "location /" context to
server or add "root html/myvhost1.com;" into "location ~ \.php$" context.
Die Person die auch mit dem Problem gekämpft hat, hatte ja keine root Zeile im "location ~ \.php$" Kontext. Die habe ich aber drin. Oder habe ich irgendwas bei diesem hinweis übersehen?:eek:
 
ich habe gerade über dem gleichen Problem gebrühtet.

SCRIPT_FILENAME muss anscheinend einen absoluten Pfad zur Datei haben. Den setzt du ja im "location php" Abschnitt auch, überschreibst ihn (vermutlich) gleich wieder mit dem Defaultwert aus fastcgi_params

Also einfach das include fastcgi_params an den Anfang stellen, oder daraus den Defaultwert für SCRIPT_FILENAME löschen.
 
Back
Top