Php não funciona no servidor Apache

0

Eu instalei o LAMP

sudo tasksel install lamp-server

Eu posso rodar meu site, mas o código php é apenas exibido como texto .

Eu tentei esta solução , mas isso não me ajudou.

Quando tento executar o script php com terminal:

user@pc:~/ooo$ php index.htm

Eu recebo apenas o código php.

Quando

sudo /etc/init.d/apache2 status
php -v

Eu obtenho

 * apache2 is running
PHP 5.5.9-1ubuntu4 (cli) (built: Apr  9 2014 17:11:57) 
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
    with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies

Como resolver isso?

    
por serezha93 14.04.2014 / 20:07

4 respostas

2

Parece que seu script não está sendo passado para o interpretador do php e está simplesmente exibindo o texto do arquivo. Este é um erro comum e quase sempre é devido:

  1. Uso de um arquivo que termina diferente de php (e.x. htm ou html)
  2. Não usando a tag php <?php ... ?> ou como Nathan mencionou o uso de tags impróprias.

Você pode ver outros servidores que usam extensões de arquivo diferentes de .php ou usar tags abreviadas.

Ambos podem ser configurados para serem permitidos:

Permitindo tags curtas php

Permitindo extensões de arquivo adicionais

As tags curtas costumavam ser permitidas por padrão, mas ficaram em desuso. É melhor usar as tags completas <?php ?> se você está começando algo novo ou apenas aprendendo php.

    
por dan08 14.04.2014 / 21:58
4

Ao analisar sua última edição atualizada, vejo que o arquivo não é salvo como index.php . Você verá que os scripts php não funcionarão quando você salvá-lo em uma extensão .htm ou .html . Para que o arquivo php tenha efeito, você precisará renomear index.htm para index.php .

EDITAR

De acordo com meu último comentário com um link de script php de teste, parece que não há nenhum problema com o seu php pack ou com o lamp-server . É algo a ver com o seu próprio script php . É melhor dar uma olhada no roteiro corretamente e corrigi-lo para ter um resultado adequado.

Espero que isso ajude!

    
por AzkerM 14.04.2014 / 20:27
3

Parece que o código está usando tags curtas <? ?> em vez do normal <?php ?> . Você precisa habilitar tags curtas no php.ini.

Encontre isso no php.ini: short_open_tag

Defina como 1 e reinicie o Apache.

    
por Nathan C 14.04.2014 / 21:16
1

Acabei de ter o mesmo problema. Você precisa verificar quais são suas versões do PHP primeiro.

php -v

Após instalar libapache2-mod-phpX

X = o número da sua versão do php. Ele pedirá algumas dependências, diga sim para todos.

    
por FabioB 01.05.2018 / 01:00