Pergunta

Eu uso a seguinte configuração para nginx: http://gist.github.com/340956

No entanto, esta configuração causa um No input file specified erro com PHP.A única maneira de resolver isso é alterando esta linha:

fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;

Observe o "/" entre $document_root e $fastcgi_script_name.Fui informado de que esta é a configuração errada, mas ninguém foi capaz de me dizer exatamente por que minha configuração exige essa barra extra.

Como posso me livrar dessa barra extra?

Foi útil?

Solução

Acabei de enfrentar o mesmo problema (na instalação do REMI do Nginx+Php-FPM em um servidor RHEL6), você pode resolvê-lo adicionando a seguinte linha em/etc/nginx/fastcgi_params

fastcgi_param  SCRIPT_FILENAME    $request_filename;

Encontrei essa linha ausente em Rhel, enquanto estava presente em um Nginx do Debian perfeitamente funcional.

Outras dicas

O parâmetro PATH_TRANSLATED obter o URI correto?Estou pensando que é a concatenação imediata das variáveis ​​no arquivo conf que não computa.Ao adicionar uma barra entre eles, talvez sejam interpretados corretamente.

Quando você recebe o erro No input file specified, verifique seu log para ver qual URI foi solicitado.

Remover try_files $uri index.php$uri; na linha 3.

Questão de preferência. Contanto que você seja consistente, de qualquer maneira está bem.

Adicione a barra no arquivo de configuração e verifique se não há barras adicionais no final e o início da raiz do documento e o nome do script, respectivamente ou vice -versa.

O que acontece quando você adiciona explicitamente uma diretiva raiz como assim:

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;
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top