Eu apenas instalei o nginx 1.1.13 e o php 5.4.0 em uma máquina 64 bits final do centos 5.8. Nginx e PHP / Fpm estão em execução, e eu posso executar scripts php via linha de comando ssh, mas no navegador continuo recebendo 'Arquivo não encontrado'. erros em todos os meus arquivos PHP.
É assim que meu nginx.conf lida com scripts PHP:
location ~ \.php$
{
root /opt/nginx/html;
fastcgi_pass unix:/tmp/fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /opt/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
Esta é uma cópia / pasta direta dos meus outros servidores, onde funciona bem com essa instalação (mas eles executam versões mais antigas do php / fpm).
Por que estou recebendo esses erros?
Respostas:
Coloque "inclua fastcgi_params;" antes de todas as linhas "fastcgi_param *" ", inclua fastcgi_params;" substitui todas as linhas "fastcgi_param *" (consulte o registro de depuração do nginx):
fonte
Eu tive o mesmo problema.
O que fiz para resolver isso foi verificar o usuário executando nginx, php-fpm e verificar suas permissões para acessar a pasta onde está a raiz. É o padrão 'www-data'.
mas você pode descobrir usando os comandos
ps aux | grep php-fpm
eps aux | grep nginx
.Você precisa garantir que a pasta esteja acessível ao usuário executando esses processos.
fonte
Eu tive o mesmo problema e, para mim, era uma diretiva "raiz" incorreta / inexistente na configuração do servidor nginx
fonte
Eu uso essa configuração, gostaria que pudesse ajudá-lo. Funciona no OS X. Quanto a mim, a resposta do @Xosofox funcionou. Digitei incorretamente a versão do nginx 1.6.2 como 1.2.6, para que a raiz se tornasse um diretório inexistente.
fonte
Resolvo esse problema alterando usuário e grupo, usando o usuário atual: group em php-fpm.d / www.conf
Por padrão, o usuário e o grupo são 'nginx', altere isso ....
Espero que isto ajude
fonte