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

5

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 a um arquivo .php em um navegador (usando o endereço IP da minha VM / ~ username / phpfile.php), ele não é exibido como deveria. Em vez disso, oferece para salvar em arquivo / pergunta qual programa para abri-lo. Curiosamente, essa caixa de diálogo reconhece que é um arquivo php.


Eu tenho a seguinte versão do php instalado 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 esta / potencial soluções, eu ficaria muito feliz:)

EDITAR: Desviados dos arquivos, esse comportamento era aparente apenas nos arquivos do diretório ~ / public_html /. Todos os arquivos php em / var / www / funcionam bem.

Os prêmios vão para quem pode explicar por quê? : D (E por prêmios eu só quero dizer um bem feito, sem prêmios reais eu estou com medo.)

    
por Jon Cox 22.12.2010 / 16:34

7 respostas

6

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

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

Qual se o módulo é carregado, então deve mostrar algo como

Loaded Modules:
 ...
 php5_module (shared)
 ...
Syntax OK
    
por 22.12.2010 / 16:37
5

adicione isso à sua configuração do apache

AddType application/x-httpd-php .php 
    
por 22.12.2010 / 16:36
2

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

Isso precisa ser feito no httpd.conf para o diretório em questão. Seria algo parecido com isto:

# 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
    
por 22.12.2010 / 16:40
2

Eu tive o mesmo problema atualmente no diretório public_html do usuário e descobri que no arquivo /etc/apache2/mods-available/php5.conf existem algumas linhas de comentário incluídas e aqui estão elas:

# To re-enable php in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.

Eu fiz o que ele disse e reiniciei o apache, e o problema desapareceu.

    
por 16.10.2012 / 13:32
1

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

    
por 16.02.2016 / 17:20
0

Fácil de esquecer, mas uma maneira comum de acontecer isso é esquecer as tags <?php ?> de abertura e fechamento.

    
por 22.12.2010 / 16:37
0

Eu recentemente tenho esse problema e depois de eliminar todas as outras causas neste thread, descobri que mod_php5 extension (no meu sistema em /usr/lib64/apache2/mod_php5.so ) estava sem executar pemitions.

Após chmoding, funcionou.

    
por 19.06.2015 / 14:08