PHP funciona na linha de comando, mas não no navegador

1

Quando executo um script php 'hello world' básico a partir da linha de comando, executando o comando php test.php , ele retorna uma página html válida. No entanto, quando eu tento acessá-lo por um navegador, recebo o texto do script php, em vez de html válido.

O script php "test.php" é o seguinte:

<html>
<head>
  <title>PHP Test</title>
</head>
<body>
  <?php

     echo '<p>Hello World</p>';

   ?>
</body>
</html>

Estou executando o Apache no Raspbian.

    
por user3273814 21.01.2017 / 07:16

2 respostas

0

Para adicionar ao usuário a resposta de Alex, verifique também se o pacote libapache2-mod-php5 está instalado. O Apache não funciona sem o pacote acima instalado. Para instalar, execute

sudo apt install libapache2-mod-php5

Ao instalar este pacote, ele também adicionará automaticamente o php aos módulos a serem carregados pelo Apache.

    
por 27.01.2017 / 23:15
1

O PHP pode ser executado em diferentes modos de operação.

Pode ser o intérprete de console quando você o executa a partir do prompt de comando, ou pode ser executado como CGI, também pode ser executado como um serviço - php-fpm , ele pode ser executado como módulo do apache ou pode ser um servidor da web. / p>

A maneira mais simples de executar seus scripts php no navegador é usar o servidor da Web incorporado.
Basta executar php -S ip.ip.ip.ip:port -t /path/to/directory/where/php/files/lives substitua ip.ip.ip.ip pelo endereço IP atribuído a Raspberry Pi (obtenha de ifconfig ) e substitua port pela porta que você deseja que o servidor incorporado escute a conexão (seja 8000). Se você apontar seu navegador para http://ip.ip.ip.ip:port/your-script.php , você obterá o que deseja sem precisar executar o apache.

Se você ainda quer rodar o php via apache, você precisa descobrir como você o instalou.

Passos para verificar se o php deve ser executado como módulo do apache:
Execute apache2ctl -M e veja se o módulo php foi carregado. Se não estiver lá, você precisa ativar sudo a2enmod phpX (onde X é a versão php) e recarregar apache com o comando:% sudo service apache2 reload .

Passos para verificar se o php deve ser executado como serviço php-fpm:
Se você instalar o php como php-fpm service, precisará verificar se ele está em execução:
ps aux | grep 'php-fpm'
Se estiver em execução, você precisará configurar sua instância do apache para funcionar como proxy. Use a documentação oficial do apache para configurá-lo. É uma configuração mais complicada para comparar com um caso em que o php é executado como módulo do apache, mas tem muitas vantagens que normalmente precisam no ambiente de produção.

Passos para verificar se o php deve rodar como php-cgi (neste modo php chamado pelo apache toda vez que alguém requisitar um arquivo php):
Verifique o (s) arquivo (s) de configuração do apache para ver as configurações a seguir:

ScriptAlias /local-bin /usr/bin
AddHandler application/x-httpd-php5 php
Action application/x-httpd-php5 /local-bin/php-cgi
    
por 21.01.2017 / 09:07