O que faz com que as páginas PHP sejam baixadas consistentemente em vez de funcionarem normalmente

O que faz com que as páginas PHP sejam baixadas consistentemente em vez de funcionarem normalmente

Estou executando um servidor Ubuntu em uma VM para testar diferentes soluções de fóruns da web. Eu configurei um ~/public_html/ para ser acessível com o servidor web Apache2 e isso funciona bem.

No entanto, quando vou para um arquivo .php em um navegador (usando o endereço IP/~username/phpfile.php da minha VM), ele não é exibido como deveria. Em vez disso, ele oferece salvar em arquivo/pergunta com qual programa abri-lo. Curiosamente, essa caixa de diálogo reconhece que é um arquivo php.


Tenho a seguinte versão do php instalada no sistema:

PHP 5.3.2-1ubuntu4.5 with Suhosin-Patch (cli) (built: Sep 17 2010 13:49:46)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

E o seguinte servidor:

Server version: Apache/2.2.14 (Ubuntu)
Server built:   Nov 18 2010 21:19:09


Se alguém souber o que pode estar causando isso/soluções potenciais, isso me deixaria muito feliz :)

EDIT: Acontece que esse comportamento só era aparente em arquivos no diretório ~/public_html/. Todos os arquivos php em /var/www/ funcionam bem.

Os prêmios vão para quem puder explicar por quê? :D (E por prêmios quero dizer apenas um bom trabalho, sem prêmios reais, infelizmente.)

Responder1

Você pode ter apenas a versão cli do PHP instalada atualmente, tente

sudo apt-get install php5

e reinicie o apache

sudo apache2ctl restart.

Você também pode verificar se o módulo PHP está carregado no Apache fazendo

sudo apache2ctl -M

Que se o módulo estiver carregado, ele deverá mostrar algo como

Loaded Modules:
 ...
 php5_module (shared)
 ...
Syntax OK

Responder2

adicione isso à sua configuração do apache

AddType application/x-httpd-php .php 

Responder3

Você precisa configurar o apache para que ele inicie o interpretador php quando um arquivo .php for solicitado, em vez de apenas retornar o conteúdo do arquivo.

Isso precisa ser feito em httpd.conf para o diretório em questão. Seria algo assim:

# Use for PHP 5.x:
LoadModule php5_module        modules/libphp5.so
AddHandler php5-script php 

# Add index.php to your DirectoryIndex line:
DirectoryIndex index.html index.php

AddType text/html       php

Responder4

Verifique .htaccessa linha AddType. Eu tinha um AddType personalizado que causava um tipo de conteúdo incorreto. O Firefox me ajudou a depurar o problema, mas você também pode usar o wget.

Raposa de fogo Wget

informação relacionada