1
resposta

[Dúvida] Nginx - quando vou acessar uma url com um arquivo php o navegador faz donwload do arquivo

Eu finalizei o curso de nginx, quando fui colocar em pratica o que estudei, me deparei com o seguinte problema. Ao acessar a sistema.com.br:8081 o navegador está baixando o arquivo php. quando mudo para html funciona normalmente.

Eu criei um lab com um ubuntu server e instalei o nginx e o php.

1 resposta

Olá, Luciano.

Tudo bem?

Pelo que você descreveu, parece que o Nginx não está configurado para processar os arquivos PHP, mas sim para tratá-los como arquivos para download. Isso geralmente acontece quando o Nginx não tem o módulo PHP-FPM (FastCGI Process Manager) configurado corretamente para lidar com os arquivos PHP.

Aqui estão alguns passos para verificar e ajustar sua configuração:

  1. Instale o PHP-FPM (caso ainda não esteja instalado):

    sudo apt update
    sudo apt install php-fpm
    
  2. Configure o Nginx para usar o PHP-FPM: Você precisa editar o arquivo de configuração do seu site no Nginx, geralmente localizado em /etc/nginx/sites-available/. Aqui está um exemplo de configuração que você pode adaptar:

    server {
        listen 8081;
        server_name sistema.com.br;
    
        root /var/www/sistema.com.br;
        index index.php index.html index.htm;
    
        location / {
            try_files $uri $uri/ =404;
        }
    
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # Ajuste a versão do PHP conforme necessário
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    }
    

    Nota: Certifique-se de ajustar o caminho do socket fastcgi_pass para corresponder à versão do PHP instalada no seu servidor. Você pode verificar isso olhando os arquivos no diretório /var/run/php/.

  3. Verifique a configuração e reinicie o Nginx: Após fazer as alterações, você pode verificar se há erros na configuração com o comando:

    sudo nginx -t
    

    Se tudo estiver correto, reinicie o Nginx para aplicar as alterações:

    sudo systemctl restart nginx
    
  4. Verifique as permissões dos arquivos: Certifique-se de que os arquivos PHP estão com as permissões corretas e que o usuário do Nginx (geralmente www-data) tem permissão para acessá-los.

Qualquer coisa compartilha mais detalhes como códigos prints etc. Assim fica melhor para elaborar uma resposta mais assertiva.

Espero que essas dicas ajudem a resolver o problema que você está enfrentando com o Nginx e arquivos PHP. Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software