Pessoal, estou configurando o PHP com Nginx e ao acessar a URL, ao invés de executar o arquivo index.php ele faz download do mesmo! Alguém já passou por isso? tem alguma ideia de como resolver?
Pessoal, estou configurando o PHP com Nginx e ao acessar a URL, ao invés de executar o arquivo index.php ele faz download do mesmo! Alguém já passou por isso? tem alguma ideia de como resolver?
Opa, Bruno, tudo bem?
Isso geralmente acontece quando o Nginx não está configurado da forma certa para processar arquivos PHP através do FastCGI.
Vou deixar um exemplo abaixo de como você pode configurar o Nginx para processar arquivos PHP:
server {
listen 80;
server_name exemplo.com;
root /var/www/html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
}
No código acima, usamos o bloco location ~ \.php$
para processar arquivos PHP. A linha fastcgi_pass
é usada para definir onde o PHP FastCGI está ouvindo. No nosso caso, ele está ouvindo no soquete /run/php/php7.2-fpm.sock
. E também é importante que você substitua /run/php/php7.2-fpm.sock
pelo local do FastCGI no seu sistema.
Basta também substituir o exemplo.com
pelo seu domínio e o /var/www/html
pelo caminho do diretório onde estão os seus arquivos do PHP.
Depois de fazer essas alterações, você precisa reiniciar o Nginx para que as alterações entrem em vigor. Nisso, você pode usar o comando sudo systemctl restart nginx
.
Se outra dúvida surgir, estamos disponíveis aqui.
Abraços e bons estudos!