Apache 2 e PHP 5 não funcionam

1

Eu tenho um arquivo test.php no diretório do servidor web com php phpinfo(); content. Quando tento executar php test.php em um shell, ele é executado corretamente. Mas quando tento abrir a página da web em um navegador, ele mostra php phpinfo(); . Como posso solucionar problemas do Apache 2 e do PHP 5 em minha máquina UNIX?

    
por user2914 09.05.2011 / 07:32

2 respostas

3

Acho que você precisa incluir seu código em <?php ... ?> . Experimente este arquivo:

<?php
phpinfo();
?>

Por padrão, o conteúdo de um arquivo PHP é HTML que é enviado intocado para o navegador. Os marcadores <?php e ?> marcam o início e o fim do código PHP que é interpretado pelo PHP.

    
por 09.05.2011 / 08:05
1

Como penguin359 apontou , O php não irá interpretar nada em uma página html que não esteja entre colchetes com <? ... ?> no mínimo.

Se ainda não funcionar depois de ter tentado, a primeira coisa que você deve fazer é verificar o acesso do seu servidor e os logs de erros (por padrão em /var/log/apache2/access.log and /var/log/apache2/error.log , a menos que sua distribuição faça algo instável; verifique os arquivos de configuração nas diretivas /etc/apache2/ for the AccessLog and ErrorLog ', continue a solução de problemas dependendo do que exatamente eles dizem.

Se a página foi acessada e nenhum erro foi relatado, isso significa que o servidor, por algum motivo, não achou necessário acionar o analisador de php, provavelmente devido a um erro de configuração.

Existem várias maneiras diferentes para o analisador php ser chamado pelo apache; os dois mais comuns são através do módulo php dinamicamente carregado, ou via CGI.

Se é (deveria ser) carregado via mod_php , então seu arquivo de configuração deve conter uma diretiva parecida com

LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
nele, assim como as instruções que o instruem a deixar o módulo php5 manipular páginas .php, provavelmente algo assim:

<IfModule mod_php5.c>
  AddType application/x-httpd-php .php .phtml .php3 .php5
  AddType application/x-httpd-php-source .phps
  php_admin_flag register_globals off
</IfModule>

com pequenas variações possíveis, dependendo de como sua distribuição lida com a configuração do apache2.

Se ele é chamado via cgi - geralmente é uma opção melhor porque permite um servidor encadeado, bem como coisas bacanas, como SuEXEC - então você deve checar novamente seus arquivos de configuração do apache e procurar por linhas dizendo algo como AddHandler fcgid-script .php .php5

que informam ao servidor como lidar com arquivos que terminam em .php ou .php5 .

Mais uma vez, no entanto, exatamente o que há de errado com seu servidor - supondo que seja mais do que apenas a falha original para colocar seu arquivo .php com <? ... ?> - é difícil de adivinhar sem olhar os registros de acesso e erro .

    
por 09.05.2011 / 09:11