sábado, 18 de julho de 2009

Instalando suporte a PHP


    Instalando o suporte a PHP

    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.

    Mas, 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:

    # apt-get install php5

    No caso do Fedora, é usado um pacote unificado, o "php", que inclui a versão mais recente do interpretador, eliminando a confusão:

    # yum install php

    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-php4" ou "libapache2-mod-php5", como em:

    # apt-get install libapache2-mod-php5

    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. Para ativar o suporte a PHP, é preciso copiar ambos para a pasta "/etc/apache2/mods-enabled/":

    # cd /etc/apache2/mods-available/ # cp -a php4.conf php4.load ../mods-enabled/

    Como vimos, você pode automatizar esta etapa ativando o módulo através do a2enmod, que cria os links automaticamente:

    # a2enmod php4 ou # a2enmod php5

    Não se esqueça de atualizar a configuração do Apache:

    # /etc/init.d/apache2 force-reload

    O Fedora não utiliza as pastas "modules-available" e "modules-enabled" como no Debian. O módulo do Apache é instalado junto com o pacote "php", mas para ativá-lo é necessário adicionar a linha abaixo no final do arquivo "/etc/httpd/conf/httpd.conf":

    AddType application/x-httpd-php .php .phps .php3 .phtml .html .htm .shtml .fds

    O serviço "httpd" do Fedora também não suporta o parâmetro "force-reload". Ao invés disso, use simplesmente "service httpd reload".

    A partir daí, 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 300.000 pageviews diários (o que significa umas 20 a 30 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. Para utilizá-los, você precisa ter instalados (além do MySQL ou Postgre propriamente ditos) os módulos "php4-mysql" e "php4-pgsql" (ou respectivamente "php5-mysql" e "php5-pgsql" ao usar o PHP 5), que permitem aos scripts em PHP acessarem o banco de dados:

    # apt-get install php5-mysql ou # apt-get install php5-pgsql

    Não se esqueça de reiniciar o Apache, para que as alterações entrem em vigor:

    # /etc/init.d/apache force-reload

    No caso do Fedora, instale o pacote "php-mysql":

    # yum install php-mysql

    Para verificar se o PHP está realmente ativo (em qualquer versão do Apache), 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 do configuração do PHP e módulos ativos:

    Depois de verificar, remova o arquivo, pois não é interessante que essas informações fiquem disponíveis ao público.


Nenhum comentário:

Postar um comentário