Zprovozneni na nginx + Nette 2.0.6 – No input file specified

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
dotTwelve
Člen | 167
+
+1
-

Ahoj,
snazim se rozchodit pod nginx a HTTPS protokolem web, ktery bezi bez problemu na apache a HTTP.
Do rootu webu neboli na Homepage:default se normalne dostanu, ale kdyz chci jit na jakykoliv presenter:akci tam mi to haze chybu: No input file specified.

Diky za napady.
Honza

Editoval dotTwelve (17. 3. 2013 23:21)

Filip Procházka
Moderator | 4668
+
0
-

Tohle je moje konfigurace.

server {
        listen          80;

        server_name     .moje-aplikace.cz;
        index           index.php index.html;

        root            /var/www/moje-aplikace.cz/www;

        location / {
                try_files       $uri $uri/ /index.php;
        }

        keepalive_timeout  0;
        send_timeout    9999999;
        fastcgi_read_timeout    999999;
        client_max_body_size    200M;

        location ~ \.php$ { # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
                include         fastcgi_params;
                fastcgi_param   SERVER_NAME     moje-aplikace.cz;
                fastcgi_pass    127.0.0.1:9000;
                fastcgi_index   index.php;

                fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
                fastcgi_param   PATH_INFO $fastcgi_path_info;
                fastcgi_param   PATH_TRANSLATED $document_root$fastcgi_path_info;

                fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;

                try_files $uri =404;
        }

        #location ~ \.(js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ { }

        location ~ /\.(ht|gitignore) { # deny access to .htaccess files, if Apache's document root concurs with nginx's one
            deny all;
        }

        location ~ \.(neon|ini|log|yml)$ { # deny access to configuration files
            deny all;
        }

        location = /robots.txt  { access_log off; log_not_found off; }
        location = /humans.txt  { access_log off; log_not_found off; }
        location = /favicon.ico { access_log off; log_not_found off; }
    }
Patrik Votoček
Člen | 2221
+
0
-

mrkni na open_basedir to je nejčastější chyba :-)

Panda
Člen | 569
+
0
-

Podle mě to bude chybějící try_files. Ve Filipově ukázce jsou klíčové řádky

location / {
	try_files $uri $uri/ /index.php;
}

Ještě lepší by ale bylo:

location / {
	try_files $uri $uri/ /index.php?$args;
}

Když chybí to koncové ?$args, tak se u některých aplikací nepředávají $_GET parametry. Nette s tím problémy nemá, ale obecně je to lepší.