Informações do sistema operacional e do servidor:
- CentOS 6.4 (final)
- Apache 2.2.15
- PHP 5.5.1
Eu já tinha o php 5.3.x instalado, mas decidi atualizá-lo. Eu primeiro desinstalei o php 5.3.x e depois instalei o php 5.5.1, mas depois que a instalação foi concluída o apache não analisou os arquivos php, apenas baixou-os. Eu verifiquei perguntas semelhantes aqui no stackoverflow, mas nenhuma delas me ajudou até agora.
Para registro, tenho as seguintes linhas em meu httpd.conf e php.conf que deveriam fazer o php funcionar, mas não:
AddHandler application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml
AddType application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml
AddType application/x-httpd-php-source .phps
AddHandler php5-script .php
Eu realmente apreciaria qualquer ajuda. Obrigado.
EDITAR:
Eu tenho essas linhas no php.conf
<IfModule !worker.c>
LoadModule php5_module modules/libphp5.so
</IfModule>
<IfModule worker.c>
LoadModule php5_module modules/libphp5-zts.so
</IfModule>
EDITAR:
Ao remover o
AddType application/x-httpd-php .php5 .php4 .php .php3 .php2 .phtml
o apache não baixa mais o arquivo. Agora o apache está mostrando o código-fonte, mas não todo, apenas parte. Eu adicionei
AddType text/html .php
mas sem sorte.
httpd.conf
se o módulo php está comentado ou nãoRespostas:
O AddType correto para php é application / x-httpd-php
Certifique-se também de que seu módulo php está carregado
Quando você estiver configurando o apache, tente visualizar a página de outro navegador - eu tive dias em que o Chrome obstinadamente armazena o resultado em cache e continua baixando o código-fonte enquanto em outro navegador está tudo bem.
fonte
/etc/httpd/conf/httpd.conf
Eu me deparei com esse problema hoje e nenhuma das soluções descritas funcionou para mim. Então, aqui está outra causa possível:
Se você tem algo como
em um
.htaccess
arquivo da pasta de conteúdo da web, pode fazer com que seus scripts PHP parem de funcionar. No meu caso, o servidor não sabia ox-mapp-php6
tipo, já que aquele.htaccess
arquivo era algo que importei de um host diferente quando transferi o conteúdo do site.Apenas remover a
AddHandler
linha do.htaccess
arquivo resolveu para mim.fonte
AddHandler application/x-httpd-php54 .php54 .php
que teve de ser removido.Depois de lutar muito, finalmente resolvi o problema.
Se você for solicitado a baixar um
.php
arquivo em vez de executá-lo, aqui está a solução perfeita: Presumo que você já tenha instalado o PHP5 e ainda esteja recebendo este erro.É isso.
Mas se você ainda estiver recebendo o erro:
então faça o seguinte:
Acontece que os arquivos não devem ser armazenados em
mods-enabled
, mas sim emmods-available
. Um link simbólico deve ser criado em mods-enabled apontando para o arquivo armazenado em mods-available.Primeiro remova o original:
Em seguida, crie o link simbólico:
Espero que seu problema seja resolvido.
fonte
Por favor, dê uma olhada nas suas diretivas addtype.
Parece-me que o Apache está informando ao navegador que está enviando um tipo de documento de aplicativo / php para scripts com extensões como .php5. Na verdade, o Apache deve informar ao navegador que o script está gerando texto / html.
Por favor, tente isto:
Em relação à sugestão acima de que você deve informar ao navegador que está gerando um script PHP: Pareceu-me uma ideia incomum. Eu pesquisei e descobri que há muita discussão sobre isso na web. Aparentemente, há casos em que você pode querer dizer que está enviando um script PHP (embora o Apache deva executar o script e emitir texto / html) e também há casos em que o navegador simplesmente não reconhece aquele Mime específico Tipo.
Limpar o cache do navegador é sempre uma boa ideia.
Caso seja útil, aqui está uma cópia do meu arquivo /etc/httpd/conf.d/php.conf de um servidor executando CentOS 5.9:
fonte
Isso pode estar acontecendo devido à falta de módulos necessários para o seu php. Supondo que você tenha php7 instalado, pesquise os módulos php7 disponíveis usando
O comando acima irá listar todos os módulos PHP7 disponíveis para instalação. Você pode começar a instalação de módulos como,
fonte
Se o seu .htaccess tiver algo parecido com isto ... Aplicativo AddHandler / x-httpd-php53 .php .php5 .php4 .php3 então comente e tente atualizar novamente funcionou para mim ...
fonte
Eu tenho o mesmo problema. O Apache não carrega arquivos php de um determinado site, apenas baixado. Eu li este post e as respostas e vi que coloquei esta linha no último lugar do arquivo .htaccess:
Eu comentei e tudo funciona bem.
Obrigado a todos !!!
fonte
Eu já tive um problema semelhante, após atualizar do 5.3 para o 5.4. Mas minha configuração parece um pouco diferente, já que estou executando o Debian e usando fcgid para servir as páginas PHP, e não o módulo PHP5 apache / cgi. Então, depois que eu atualizei, ele também instalou o php5_cgi, que colidiu com minha configuração do fcgid e não executou mais os arquivos PHP.
Tive que desabilitar o Módulo Apache e reiniciar o Apache
Uma vez que o módulo php5_cgi estava fora do caminho, fcgid foi capaz de servir páginas PHP novamente.
fonte
Tive sintomas semelhantes, mas outra solução: em /etc/apache2/mods-enabled/php5.conf, havia um conselho útil no comentário, que segui:
fonte
Caso alguém esteja usando php7 em um ambiente Linux
Certifique-se de habilitar php7
Reinicie o serviço mysql e Apache
fonte
Após atualizar o PHP para 7.3, os scripts PHP foram executados com dados www em vez de $ USER como antes.
Eu precisava reinstalar e ativar o PHP-FPM:
Para garantir que tudo estava bem para o Virtualmin , usei o assistente de configuração de nova verificação
/virtual-server/check.cgi
, em Vitualmin / Configurações do sistema .Depois disso, o Apache / PHP estava baixando arquivos php em vez de executá-los. Então eu precisava editar
/etc/apache2/mods-available/php7.3.conf
para comentar a linhaSetHandler application/x-httpd-php
como abaixo:Depois de reiniciar o Apache, ele resolveu meu problema, espero que essa ajuda.
Cuide também do cache do navegador.
Meu sistema:
fonte
Passei dois dias rastreando isso e descobri que estava colocando meus scripts PHP no diretório errado.
Na minha instalação padrão do Ubuntu, coloquei os scripts
/var/www
. Eles deveriam ter estado em/var/www/html
.Acabei de começar o trabalho com PHP, então não sei se minha solução está relacionada à mudança de versão que você fez.
fonte
isso resolveu o problema para mim (eu tenho php7 instalado):
sudo apt-get install libapache2-mod-php7.0
sudo service apache2 restart
fonte
Eu tive esse problema. Descobri que eu tinha o nginx e o apache instalados e iniciando automaticamente na inicialização. O problema era que o nginx estava se conectando à porta http primeiro, o que impedia o apache de iniciar.
fonte
Também é possível que você tenha o nginx rodando, mas seu php está configurado para rodar com o apache. Para verificar, execute
service nginx status
eservice apache2 status
veja qual está rodando. No caso de o nginx estar rodando e o apache não, apenas rodesudo service nginx stop; sudo service apache2 start
e seu servidor irá servir os arquivos php como esperado.fonte
Ok ... Eu sei que já existem 1.000.000 de respostas para essas questões, - mas eu gastei pelo menos 6 horas efetivas, descobrindo esta; e eu pesquisei centenas de vezes e não encontrei um único post sobre isso. Então, decidi adicionar a solução para o meu problema aqui.
A conclusão
Se eu comentar essas duas linhas em meus arquivos .conf no
/etc/apache2/[[SERVER-NAME].conf
-file:Não tenho ideia do que eles fazem ou como chegaram lá, - mas está em cada um dos meus
.conf
arquivos. E se eu remover essas linhas e garantir que há um link simbólico na/etc/apache2/sites-enabled/
pasta, então ele não baixa o index.php - e tudo funciona como deveria.Toda a história
Eu tenho o VirtualMin instalado em um Ubuntu 16.04 VPS. Eu atualizei para o PHP versão 7.2. Pouco depois disso, atualizei a versão do Ubuntu e encontrei um erro 'Kernel Offset: Disabled'. Então eu tive que excluir a última versão do Ubuntu, - e quando meu sistema operacional inicializou novamente: BOOM! Recebi o erro sobre o qual seu post fala: Para cada site no meu VPS, simplesmente baixei o index.php em vez de mostrá-lo.
Eu tentei todos os tipos de coisas:
a2enmod [MODULE_NAME]
. E eu encontrei o nome do módulo pesquisando por aí. Tive que ativar cerca de 6 a 8 módulos antes de passar essa etapa na validação - e levou alguns minutos até que o cache se esgotasse -, portanto, fazer essa etapa foi uma tarefa tediosa.fonte
Tive um problema semelhante ao OP ao atualizar o php5 de uma versão mais antiga, para 5.5.9, que é a versão instalada com o Mint 17.
Estou executando uma configuração LAMP em uma máquina em minha rede local, que uso para visualizar as alterações em sites antes de carregá-las no servidor real. Portanto, mantenho um espelho local perfeito do site real.
Após a atualização, os arquivos executados e exibidos perfeitamente no site real não seriam exibidos, ou apenas exibiriam html na máquina local. PHP não foi analisado. O comando phpinfo () funcionou, então eu sabia que o php estava funcionando de outra forma. O log não gerou erros. A visualização do código-fonte da página me mostrou o código PHP real.
Eu construí uma página test.php que continha o seguinte código:
<?php phpinfo(); ?>
Isso funcionou. Então descobri quando mudei
<?php
para<?
o comando não funcionava mais. Todos os meus sites php usam em<?
vez do<?php
que pode não ser ideal, mas é a realidade. Corrigi o problema indo para / etc / php5 / apache2, procurando por "short_open_tag" e alterando o valor de Desligado para Ligado.fonte
Se nenhuma das opções acima funcionar,
tente comentar a linha
e reinicie o apache usando
Deve funcionar!
fonte
PHP56
vim /etc/httpd/conf/httpd.conf
fonte
Eu tenho esse tipo de problema. É assim que eu resolvo. Depois de instalar o Apache , instalei o PHP usando este comando.
ele executa corretamente, mas eu solicito o arquivo .php do Apache, ele dá sem executar o script PHP .
Então eu verifico que o PHP está habilitado.
mas não mostrou nenhum resultado. Eu verifico os pacotes PHP instalados.
Diferentes tipos de versões de PHP instaladas no meu computador. Então, removo alguns pacotes PHP da minha lista anterior, usando apt-get purge .
Eu reinstalo o PHP
Verifique se o módulo PHP está carregado
se não habilitado com:
Reinicie o servidor Apache
Finalmente, eu verifico o processo PHP no Apache
crie um arquivo vazio
Adicione este conteúdo a info.php e salve.
Verifique no navegador:
mostra corretamente. Acho que isso vai ajudar alguém.
fonte
Eu tive esse problema e se você nunca mexeu nas configurações do seu servidor, então o seu problema está 90% no seu arquivo .htaccess
Você pode modificar o arquivo .htaccess LOCALMENTE ou excluí-lo (LOCALMENTE)
fonte
Se você tiver o virtualmin, tente comentar essas linhas na configuração do apache em / etc / apache2 / sites-available
fonte
Quando eu atualizei do PHP 7.2 para o PHP 7.4, também tive o mesmo problema. Trabalhou fazendo o seguinte: -
Em
[domain].conf file
, comentou a seguir:php_admin_value engine Off
E acrescentou:
Desative o mod 7.2 e ative 7.4 da seguinte forma:
a2dismod php7.2
a2enmod php7.4
No
/etc/apache2/mods-enabled/php7.4.conf
arquivo, comente a seguir:SetHandler application / x-httpd-php
php_admin_flag engine Desligado
fonte
Para as pessoas que encontraram esta postagem do Google quase 6 anos no futuro (e além!), Você pode encontrar esse problema com o Apache 2 e o PHP 7 enquanto usa o
UserDir
módulo.Outra possível causa desse problema pode ser que você está tentando executar o script em um "diretório do usuário" do
UserDir
módulo. A execução de scripts PHP em diretórios de usuário está desabilitada por padrão. Você terá esse problema se o script estiver nopublic_html
diretório da sua pasta pessoal e você estiver tentando acessá-lo dehttp://localhost/~your_username
.Para consertar isso, abra
/etc/apache2/mods-enabled/php7.2.conf
. Você deve comentar ou excluir o bloco de tag na parte inferior que dizfonte
Se o seu .htaccess tiver algo assim
fonte