Estou tentando executar algum código PHP em um projeto (usando o Dreamweaver), mas o código não está sendo executado.
Quando verifico o código fonte, o código PHP aparece como tags HTML (posso vê-lo no código fonte). O Apache está funcionando corretamente (estou trabalhando com o XAMPP), as páginas PHP estão sendo abertas corretamente, mas o código PHP não está sendo executado.
Alguém tem alguma sugestão sobre o que está acontecendo?
Nota: O arquivo já está nomeado comofilename.php
Edit: O Código ..:
<?
include_once("/code/configs.php");
?>
<?
vez de<?php
?<?
) Eles estão obsoletos, realmente não funcionam em muitos lugares e, de outra forma, são completamente desnecessários. Salvar três pressionamentos de tecla não é um motivo válido para permitir que seu código falhe provavelmente em metade dos servidores nos quais ele pode ser executado.short_open_tag
configuração.<?=
), que devem funcionar bem no php 5.4+, independentemente das configurações do servidor.Respostas:
Parece que há algo errado com sua configuração. Aqui estão algumas coisas que você pode verificar:
Verifique se o PHP está instalado e funcionando corretamente. Isso pode parecer bobagem, mas você nunca sabe. Uma maneira fácil de verificar é executar a
php -v
partir de uma linha de comando e ver se retorna informações sobre a versão ou se há algum erro.Certifique-se de que o módulo PHP esteja listado e descomentado dentro do httpd.conf do seu Apache. Isso deve ser algo como
LoadModule php5_module "c:/php/php5apache2_2.dll"
no arquivo. ProcureLoadModule php
e verifique se não há nenhum comentário (;
) na frente dele.Verifique se o arquivo httpd.conf do Apache possui o tipo PHP MIME. Isso deve ser algo como
AddType application/x-httpd-php .php
. Isso diz ao Apache para executar.php
arquivos como PHP. Pesquise AddType e verifique se há uma entrada para PHP e se ela não é comentada .Verifique se o seu arquivo possui a
.php
extensão, ou a extensão especificada na definição MIME no ponto 3, caso contrário, ele não será executado como PHP.Verifique se você não está usando tags curtas no arquivo PHP (
<?
), pois elas não estão ativadas em todos os servidores por padrão e seu uso é desencorajado. Use em<?php
vez disso (ou ative tags curtas no seu php.ini comshort_open_tag=On
se você tiver um código que dependa delas).Verifique se você está acessando seu arquivo pelo servidor da Web usando um URL como
http://localhost/file.php
não o acesso local a arquivosfile://localhost/www/file.php
Por fim, verifique o manual do PHP para obter mais dicas de configuração .
fonte
AddType application/x-httpd-php .php
. Muito obrigado!!apt-get purge apache2; apt-get install apache2 libapache-mod-php5
.php
extensão com o conteúdo<?php echo("Success"); ?>
e veja se o acesso ao arquivo através de um navegador da Web resulta na exibição de "Sucesso" sem o código PHP associado.php7:
fonte
sudo a2enmod proxy_fcgi setenvif
cria três novos mods/mods-available/proxy.conf proxy_fcgi.load proxy.load
Da mesma forma,sudo a2enconf php7.0-fpm
cria um arquivo de configuração/conf-available/php7.0-fpm.conf
Depois que isso for feito, o Apache2 poderá executar o módulo PHP7 como um serviço de CGI rápido.Estou executando o Apache no Ubuntu e meu problema foi que o
/etc/apache2/mods-available/php5.conf
arquivo estava ausente:Eu o adicionei novamente e o php estava analisando os arquivos php corretamente.
fonte
nota para usuários do php 7, adicione isto ao seu arquivo httpd.conf:
fonte
httpd.conf
arquivo está localizado em/etc/apache2/httpd.conf
Se você estiver usando o Ubuntu, ele estariaapache2.conf
no mesmo diretório que precisa ser modificado para o PHP7.Encontrei outro problema causando esse problema e já o resolvi. Salvei acidentalmente meu script na
UTF-16
codificação. Parece que o PHP5 não pode reconhecer a<?php
tag na codificação de 16 bits por padrão.fonte
Estou postando esta resposta porque minha interface de administração do Virtualmin / Webmin decidiu que era uma boa idéia desabilitar meu mecanismo PHP. Demorei um pouco para encontrar a solução, então pensei em compartilhar com vocês:
Além disso, verifique se nenhum dos arquivos de configuração do seu site relacionados a esse host ou host virtual específico possui php_admin_value's que desativam o PHP, assim:
Em caso de dúvida, comente ...
E reinicie seu servidor da web.
fonte
/etc/apache2/mods-enabled/php7.conf
ouphp5.conf
sudo grep php_admin_value /etc/* -R
Você está apenas abrindo seu arquivo php no navegador. Você precisa abri-lo usando o URL do host local. se você abrir um arquivo diretamente do seu diretório, ele não executará o código php em nenhum caso.
use:
http://locahost/index.php
ouhttp:127.0.0.1/index.php
Ativar código curto php. No seu caso, você está usando o
<?
qual é um código curto php<?php
. Por padrão, os códigos curtos de php estão desativados.Também use:
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
se você é um usuário do Ubuntu.fonte
Eu sei que deve parecer bobagem ... mas raramente acontece.
Verifique se você está tentando executar o php de
e não de
ps> você pode perceber que se você escrever a partir do shell
responde com o código (significa funções php) ..
fonte
Isso aconteceu comigo de novo, junto com o servidor baixando arquivos html, em vez de processá-los. Eu não usava o servidor apache há algum tempo no computador e, enquanto isso, o Ubuntu atualizava como mais duas versões do LTS originalmente instalado. Agora é
Então o php funcionou depois da seguinte maneira:
O servidor web estava agora analisando o php. Talvez agora tenha que atualizar algumas webs desde o php7.0 agora executando onde estava antes de executar o php5. Ah bem.
fonte
Eu resolvi isso desinstalando o XAMPP e instalando o WAMP. Obrigado pela ajuda.
fonte
Eu enfrentei esse problema no php 7.1 que vem com o High Sierra (OS X 10.13.5), a edição
/etc/apache2/httpd.conf
com as seguintes alterações ajudou:Remova o comentário desta linha
Cole a seguir no final
fonte
no meu ubuntu 14.04, apache 2.4, instalação do php 5.5.9, tentei com um sample.php em / var / www / html (raiz padrão do documento) e funcionou bem. Portanto, o problema estava na minha configuração de Servidores Virtuais. A solução foi incluir, no diretório Def que contém o .php, esta linha:
fonte
Verifique se o script contém
antes do código que deve ser executado. Não deve haver espaço entre
<?
ephp
nisso.fonte
Eu tive um problema semelhante, mas no meu caso a solução foi diferente. meu arquivo que continha o código php foi chamado "somename.html" e mudou para "somename.php" funcionou bem
fonte
Para uma nova configuração do LAMP executando o php 7, edite o arquivo /etc/httpd/conf/httpd.conf Nota: certifique-se de fazer backup antes de alterar qualquer coisa.
Cole isso na parte inferior do arquivo:
Em seguida, procure LoadModule e cole a seguinte linha:
Essa linha simplesmente solicitará ao httpd que carregue o módulo php 7
Então reinicie o httpd
fonte
Verifique todos os pacotes que você instalou para o php usando:
Instale todos os pacotes php relevantes , especialmente o php-devel em sua máquina.
fonte
Isso estava no meu .htaccess
index.html continha código PHP. Por padrão, o PHP não processa arquivos com extensões como htm * como código PHP.
Você pode substituir isso adicionando o seguinte ao .htaccess:
fonte
Eu acho que o problema que está mostrando o código em vez do resultado é que ele não está indo para o host local. verifique novamente o endereço que você está acessando. Você está indo para um diretório de arquivos local ou para o host local.
a partir da captura de tela enviada, o computador não será enviado para o host local.
"file: ///" deve ser "localhost /"
fonte
Reinstalar o
mcrypt
módulo funcionou para mim.fonte
Tive um caso em que acidentalmente comecei a descompactar meu diretório de arquivos na raiz. Ele adicionou o arquivo .htaccess da minha pasta de arquivos que bloquearia todo o php
Bottom line verifique o arquivo .htaccess na raiz.
fonte
Se você tiver uma configuração como esta:
Remova o comentário das próximas linhas do seu httpd.conf
Funciona para mim
fonte
Adicione
AddType application/x-httpd-php .php
ao seu arquivo httpd.conf se você estiver usando o Apache 2.4fonte
Apenas passei horas tentando executar o PHP 5 com o Apache 2.4 no Windows 10 . Finalmente, para mim, foi um erro de digitação no httpd.conf
LoadModule
. Chamei a atenção para a escrita e o caminho exato do módulo através da última resposta neste tópico do denny2018 . Obrigado!Eu tinha
LoadModule php5_module "c:/php/php5apache2.dll"
mas correto para o apache 2.4 é:Então, eu também perdi o
_4
antes (para o apache 2.4 ). O trecho completo que funcionou para mim:Apenas tentei o PHP 7 . Lá a
LoadModule
linha no httpd.conf para Apache 2.4 dizAtualmente, o manual php mostra
c:/php/php5apache2.dll
quais obviamente precisam ser ajustados.fonte
no meu caso (Apache / 2.4.34),
depois de descomentar o módulo específico
de
meu problema se foi.
fonte
No caso de estarmos na mesma página, faça o seguinte
sudo apt-get install php -y
sudo apt-get install php-{bcmath,bz2,intl,gd,mbstring,mysql,zip,fpm} -y
Para ativar o PHP 7.2 FPM no Apache2 faça:
a2enmod proxy_fcgi setenvif
a2enconf php7.2-fpm
atualização 2: o Apache baixa o arquivo .php em vez de renderizar
Depois disso, enfrentei o problema acima. Existem perguntas semelhantes como esta .
Eu não sei por que, mas isso só aconteceu para os meus arquivos .php na
/var/www/html/
pasta raiz. tudo estava bem para subdiretórios. (por exemplo, wordpress e phpmyadmin funcionaram bem)Então aqui está a minha solução. Eu decidi ativar o módulo php. então eu executei este comando:
a2enmod php7.2
mas eu tenho esses erros:
então decidi desativar o mpm executando os seguintes comandos:
depois reinicie o apache:
systemctl restart apache2
habilite o php7.2 (minha versão instalada):
sudo a2enmod php7.2
e agora tudo funciona bem.
fonte
Outra causa possível desse problema pode ser que você está tentando executar o script em um "diretório de usuário" do
UserDir
módulo. A execução de scripts PHP nos diretórios do usuário é desativada por padrão. Você encontrará esse problema se o script estiver nopublic_html
diretório da sua pasta pessoal e estiver tentando acessá-lo emhttp://localhost/~your_username
.Para consertar isso, abra
/etc/apache2/mods-enabled/php7.2.conf
. Você deve comentar ou excluir o bloco de tags na parte inferior que dizfonte
o arquivo que você colocou em / var / www / html / deve ter .php, por exemplo, example.php se for exemplo, não está funcionando, mas se você mudar para example.php, ele funcionará.
fonte