No início, existiam apenas páginas html estáticas, com links atualizados manualmente. Depois, surgiram os scripts CGI (geralmente escritos em Perl), que permitiram criar vários tipos de formulários e automatizar funções. Finalmente, surgiu o PHP, adotado rapidamente como a linguagem padrão para criação de todo tipo de página dinâmica, fórum ou gerenciador de conteúdo.
Além da linguagem ser bastante flexível, um script em PHP chega a ser mais de 100 vezes mais rápido que um script CGI equivalente, além de mais seguro. Em resumo, um script CGI é um executável, que precisa ser carregado na memória, executado e descarregado cada vez que é feita uma requisição. No caso do PHP, o interpretador fica carregado continuamente e simplesmente vai executando de forma contínua os comandos recebidos dos scripts incluídos nas páginas.
Para quem programa em Perl, existe a possibilidade de utilizar o mod-perl, instalável através do pacote “apache-mod-perl” ou “libapache2-mod-perl2”. Assim como o PHP, o mod-perl é um módulo do Apache que fica continuamente carregado na memória, executando os scripts Perl de uma forma bem mais rápida e segura que os scripts CGI.
Voltando ao assunto principal, no Debian o suporte a PHP é instalado através do pacote “php5” (ou “php4”, de acordo com a versão escolhida). Para instalá-lo, basta usar o gerenciador de pacotes da distribuição em uso, como em:
No caso do CentOS e do Fedora, é usado um pacote unificado, o “php”, que inclui a versão mais recente do interpretador, eliminando a confusão:
Com o interpretador PHP instalado, falta instalar o módulo do Apache 2, que no Debian está disponível através do pacote “libapache2-mod-php5” (ou “libapache2-mod-php4”, de acordo com a versão desejada):
O módulo “libapache2-mod-php5” é instalado dentro da pasta “/usr/lib/apache2/modules/” e é ativado de uma forma diferente que no Apache 1.3. Ao invés de adicionar as linhas que ativam o módulo e criam as associações de arquivos no final do arquivo httpd.conf, são criados dois arquivos dentro da pasta “/etc/apache2/mods-available/”, com, respectivamente, a ativação do módulo e as associações de arquivos. Os links são criados automaticamente ao instalar o pacote, mas você pode tirar qualquer dúvida usando o comando a2enmod:
Não esqueça de reiniciar o serviço para que o módulo seja carregado e a configuração entre em vigor:
ou:
No caso do CentOS/Fedora o mod_php é instalado junto com o pacote “php” e ativado automaticamente, através da criação do arquivo “/etc/httpd/conf.d/php.conf”. Dentro dele, você encontra as linhas que carregam o módulo e criam a associação com os arquivos .php, como em:
AddHandler php5-script .php
AddType text/html .php
DirectoryIndex index.php
Se você tiver a curiosidade de olhar o conteúdo dos arquivos “/etc/apache2/mods-enabled/php5.conf” e “/etc/apache2/mods-enabled/php5.load” em uma distribuição derivada do Debian, vai perceber que as linhas contidas neles são muito similares. Na verdade, o Apache usado no Debian e o usado no CentOS é o mesmo software, apenas configurado de forma ligeiramente diferente.
Com o suporte a PHP ativado, o Apache continua exibindo diretamente páginas com extensão .htm ou .html, mas passa a entregar as páginas .php ou .phps ao interpretador php, que faz o processamento necessário e devolve uma página html simples ao Apache, que se encarrega de enviá-la ao cliente.
Estas páginas processadas são “descartáveis”: cada vez que um cliente acessa a página, ela é processada novamente, mesmo que as informações não tenham sido alteradas. Dependendo do número de funções usadas e da complexidade do código, as páginas em PHP podem ser bastante pesadas. Não é incomum que um site com 100.000 pageviews diários (o que corresponde a umas 5 a 8 requisições por segundo nos horários de pico) precise de um servidor dedicado, de configuração razoável.
Quase sempre, os sistemas desenvolvidos em PHP utilizam também um banco de dados MySQL ou Postgre SQL. Naturalmente, é perfeitamente possível que os scripts simplesmente salvem as informações em arquivos de texto dentro do diretório do site, mas isso resultaria em um desempenho muito ruim, sem falar em eventuais brechas de segurança. Utilizar um banco de dados permite armazenar um volume muito maior de informações, acessíveis de forma mais segura.
Para que o interpretador PHP seja capaz de acessar o banco de dados, é necessário ter instalado (além do servidor MySQL propriamente dito) o módulo “php5-mysql” (ou “php4-mysql”), que faz a junção entre os dois componentes:
No caso do PostgreSQL, é utilizado o módulo “php5-pgsql”, que tem a mesma função:
Não se esqueça de reiniciar o Apache, para que as alterações entrem em vigor:
No caso do Fedora e do CentOS, muda apenas o nome do pacote, que passa a se chamar simplesmente “php-mysql”:
Para verificar se o suporte a PHP está realmente ativo, crie um arquivo de texto chamado “info.php” (ou outro nome qualquer, seguido da extensão .php) dentro da pasta do servidor web, contendo apenas a linha abaixo:
Salve o arquivo e abra a página através do navegador. A função “phpinfo”, que usamos no arquivo, faz com que o servidor exiba uma página com detalhes da configuração do PHP e dos módulos ativos:
Depois de verificar, remova o arquivo, pois não é interessante que essas informações fiquem disponíveis ao público.
Deixe seu comentário