LINUX.ORG.RU
ФорумAdmin

nginx No input file specified.

 ,


0

1

не судите строго впервые работаю с nginx. хочу настроить связку nginx+php-fpm. При открытии файла .php в браузере вот такая ошибка No input file specified.

config nginx


server {
    listen       80;
    server_name  lan-ip.ru;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
        root   /var/www/lanip;
        index  index.php index.html index.htm;
    }

    location ~ \.php$ {
        fastcgi_pass   unix:/run/php/php7.2-fpm.sock; 
        fastcgi_index  index.php;
	fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

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

не могу понять что такое и откуда здесь SCRIPT_FILENAME в fastcgi_params его нету.


cat /etc/nginx/fastcgi_params

fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
fastcgi_param  REQUEST_SCHEME     $scheme;
fastcgi_param  HTTPS              $https if_not_empty;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

Подскажите что делаю не правильно и какие ещё конфиги показать?

Чёт не вижу где у тебя переменная $fastcgi_script_name определяется. Её обычно fastcgi_split_path_info определяет. Добавь после «fastcgi_index index.php;» строку

fastcgi_split_path_info ^(.+\.php)(/.+)$;

MrClon ★★★★★ ()
Ответ на: комментарий от MrClon

не заработало.

а вот с такой конфигурацией заработало

fastcgi_param SCRIPT_FILENAME /var/www/lanip$fastcgi_script_name;

как мне изменить или определить теперь $document_root; ?

Palamar ()
Ответ на: комментарий от Palamar

А, у тебя root определён не вразу в блоке server, а в локейшене, так-что в другом локейшене $document_root видимо нет. Перенеси «root /var/www/lanip;» на уровень выше

MrClon ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.