Resolvendo problema com Apache 2 e PHP 5
Dica publicada em PHP / Introdução
Resolvendo problema com Apache 2 e PHP 5
Nas tentativas de instalar e configurar o conjunto Apache, PHP e MySQL em uma distro Ubuntu 7.04, enfrentei alguns problemas. Segue uma breve descrição do problema e a sua resolução:
Aqui no Viva o Linux há um ótimo artigo explicando como instalar e configurar o Apache 2.0, PHP e MySQL:
O problema é que (em alguns casos) o navegador tenta fazer o download do arquivo php ao invés de interpretá-lo. Isso acontece porque o módulo libphp5.so não é carregado na compilação do PHP, visto que o arquivo "tar.gz" não contém a biblioteca necessária. Para resolver isso siga os passos:
1 - Baixe um outro arquivo para compilação em www.php.net. O arquivo está em:
Baixe a versão php-5.2.3.tar.gz.
2 - Configure e compile seguindo as instruções do artigo acima citado:
$ tar -zxvf php-5.2.1.tar.gz
$ cd php-5.2.1
$ ./configure --prefix=/usr/local/php5 --with- apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/include/mysql --with- mssql
$ make
$ sudo make install
2.5 - É interessante também ler as dicas do site php.net.
3 - Com poderes de root, abra o arquivo "httpd.conf", localizado em /usr/local/apache2/conf (isto é, se você seguiu o artigo citado acima). Use o comando:
$ sudo kate (ou outro editor de textos do seu gosto) httpd.conf
É necessário acrescentar uma linha na seção LoadModules. Para encontrar a seção, percorra o arquivo até encontrar uma linha parecida com essa:
# LoadModule foo_module modules/mod_foo.so
Abaixo dessa linha, digite (sem o #! Esse símbolo serve como comentário, como já deve ter notado =) ):
4 - No fim do arquivo, acrescente as linhas:
Salve o arquivo.
Mude para o diretório que contém o servidor web:
$ cd /usr/local/apache2/bin
Resete o Apache usando o comando:
$ sudo ./apachectl -k restart
Para testar o funcionamento do sistema escreva um arquivo "info.php" (você pode dar o nome que desejar) contendo o script:
Copie o arquivo na pasta /usr/local/apache2/htdocs e teste a conexão com o browser, colocando na barra de endereços: http://localhost/info.php.
As informações serão exibidas no navegador.
Aqui no Viva o Linux há um ótimo artigo explicando como instalar e configurar o Apache 2.0, PHP e MySQL:
O problema é que (em alguns casos) o navegador tenta fazer o download do arquivo php ao invés de interpretá-lo. Isso acontece porque o módulo libphp5.so não é carregado na compilação do PHP, visto que o arquivo "tar.gz" não contém a biblioteca necessária. Para resolver isso siga os passos:
1 - Baixe um outro arquivo para compilação em www.php.net. O arquivo está em:
Baixe a versão php-5.2.3.tar.gz.
2 - Configure e compile seguindo as instruções do artigo acima citado:
$ tar -zxvf php-5.2.1.tar.gz
$ cd php-5.2.1
$ ./configure --prefix=/usr/local/php5 --with- apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/include/mysql --with- mssql
$ make
$ sudo make install
2.5 - É interessante também ler as dicas do site php.net.
3 - Com poderes de root, abra o arquivo "httpd.conf", localizado em /usr/local/apache2/conf (isto é, se você seguiu o artigo citado acima). Use o comando:
$ sudo kate (ou outro editor de textos do seu gosto) httpd.conf
É necessário acrescentar uma linha na seção LoadModules. Para encontrar a seção, percorra o arquivo até encontrar uma linha parecida com essa:
# LoadModule foo_module modules/mod_foo.so
Abaixo dessa linha, digite (sem o #! Esse símbolo serve como comentário, como já deve ter notado =) ):
LoadModule php5_module modules/libphp5.so
4 - No fim do arquivo, acrescente as linhas:
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php-source .phps
Salve o arquivo.
Mude para o diretório que contém o servidor web:
$ cd /usr/local/apache2/bin
Resete o Apache usando o comando:
$ sudo ./apachectl -k restart
Para testar o funcionamento do sistema escreva um arquivo "info.php" (você pode dar o nome que desejar) contendo o script:
<?php
php.info()
?>
php.info()
?>
Copie o arquivo na pasta /usr/local/apache2/htdocs e teste a conexão com o browser, colocando na barra de endereços: http://localhost/info.php.
As informações serão exibidas no navegador.
Eu fiquei uma tarde inteira para resolver este problema. Na verdade até já havia desistido. Mas, quando liguei a máquian no outro dia, estav atudo funcionando perfeitamente! ;-)
Estranho...