Nenhum arquivo de entrada especificado em nginx e php-cgi

1

Estou tentando executar o nginx e o php-cgi no meu PC com Windows. Cheguei ao ponto de querer mover o diretório html de volta para dois diretórios, para poder criar uma estrutura.

O único problema que tenho agora é que o PHP não pega nenhum arquivo .php. Eu tentei carregar um arquivo estático html (localhost / test.html) e funciona bem, mas localhost / info.php não funciona em todos.

Alguém pode me dar alguma orientação sobre isso? A parte do bloco do servidor pode ser encontrada abaixo.

server {
        listen       80;
        server_name  localhost;
        root   ../../www;
        index  index.html index.htm index.php;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location ~ \.php$ {
          fastcgi_pass   127.0.0.1:9123;
          fastcgi_index  index.php;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          include        fastcgi_params;
        }
    
por Sandeep Bansal 26.10.2013 / 18:51

3 respostas

3

Não use um caminho relativo na diretiva root . Use o caminho absoluto.

    
por 26.10.2013 / 20:09
2

O php-cgi no Windows tem um bug relacionado a caminhos relativos aparentemente:

[PHP-BUG] Bug # 54955 [NEW]: O FastCGI não reconhece os caminhos relativos do Windows

Suas soluções são:

  1. Caminhos absolutos como o que Michael Hampton disse.
  2. Junções .
por 24.07.2014 / 21:06
1

Se você estiver usando uma pilha NGINX em uma máquina local para desenvolvimento, pode haver uma configuração pré-configurada que esteja reproduzindo Gotcha:

open_basedir = "c:/webserver.;c:/”

Aqui é onde descobri o erro no Windows com o WinNMP:

Today I wanted to try out Nginx server my windows machine. After setting up the basic server block details for my project, I called the site URL. In the WT-NMP stack to quickly setup the software I needed. In the server block, I needed to specify my root path in a different location other than WWW.

Then when I hit the URL, I was getting “No Input File Specified” for my PHP script.

Now I’m not much of a reader so I just goggled here and there and didn’t found much of a fix. So then I reviewed the php log files. There I got the error message as my project folder path is not within the allowed path(s): (c:/wt-nmp)

So basically I had to edit php.init open_basedir value to include the path I stored my project. However here I could see that even the driver is considered to be as a path. So I ended up placing the driver letter since if I want to store more websites in my ‘d’ drive, I would not encounter this error. This is the final line. I have bold my text to indicate the change I made.

open_basedir = “c:/wt-nmp.;d:/”

“Happy Nginx, is a good Nginx.”

    
por 09.02.2018 / 15:09