Navegador fazendo o download de arquivos PHP em vez de executá-los. Webmin + NGinx

1

O problema

Eu tentei atualizar do PHP 7.0 para 7.2 hoje e isso resultou em sites no servidor fazendo o download através do navegador, em vez de executá-lo normalmente.

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get purge php7.0 php7.0-common
sudo apt-get install php7.2-curl php7.2-xml php7.2-zip php7.2-gd php7.2-mysql php7.2-mbstring

Minha pergunta

Alguém pode me fornecer alguns exemplos de como depurar isso? E qualquer percepção adicional sobre o que pode estar acontecendo?

Minha teoria

Tecnicamente, não sei o que causou isso, mas minha experiência me diz que é uma linha, em um arquivo, proveniente do NGinx que precisa ser editado.

O que eu tentei

Eu encontrei este problema para ser comumente relatado aqui no SO. Mas as soluções careciam de informações críticas, como o caminho do arquivo, ou os caminhos de arquivos que eles fazem referência não existem no meu sistema, ou a solução proposta não resolve o problema.

Muitos artigos mencionaram configurações para o PHP FPM e / ou FastCGI. Mas não consigo identificar como confirmar se estão ou não instalados / funcionando e como é uma configuração adequada para um servidor web padrão.

O que ajudou

Atualizei meu arquivo /etc/nginx/nginx.conf de default_type application/octet-stream; para default_type text/html; e isso parou o download de arquivos, mas resulta em uma página em branco. Incluindo meu phpinfo.php

Meu ambiente

  • AWS EC2 pequeno
  • Ubuntu 18.04
  • NGinx 1.10.3
  • Webmin
  • Virtualmin
por Spencer Hill 20.11.2018 / 02:04

1 resposta

0

A primeira coisa é que não está claro se você atualizou php-fpm ou não. Mas é fácil, então vamos supor que você fez.

As opções de configuração do Nginx que você mencionou devem ser mantidas assim:

include /etc/nginx/mime.types;
default_type application/octet-stream;

Com a lista padrão mime.types, pode ser encontrado aqui

Então, desde que você limpou a instalação anterior, você perdeu sua configuração de php.ini .

Um dos problemas que normalmente é difícil de entender é que seu aplicativo PHP usa tags php curtas (<? instead of <?php) , mas usá-lo não é permitido em /etc/php7.2/fpm/php.ini , deve ser:

short_open_tag=On

Espero que ajude alguém =)

    
por 09.12.2018 / 13:19