Essa seção contém notas e dicas específicas para a instalação do Apache 2.0 com o PHP em sistemas Unix.
We do not recommend using a threaded MPM in production with Apache 2. Use the prefork MPM, which is the default MPM with Apache 2.0 and 2.2. For information on why, read the related FAQ entry on using Apache2 with a threaded MPM
Recomendamos a » Documentação do Apache para obter um entendimento básico do servidor Apache 2.0.
Nota: Notas de compatibilidade do PHP e Apache 2.0.x
As seguintes versões do PHP são compatíveis com a versão mais recente do Apache 2.0.x:
Essas versões do PHP são compatíveis com Apache 2.0.40 ou superior.
- PHP 4.3.0 ou superior, disponível em » http://www.php.net/downloads.php.
- A última versão estável de desenvolvimento. Pegue o código fonte » http://snaps.php.net/php5-latest.tar.gz ou baixe os binários para o Windows » http://snaps.php.net/win32/php5-win32-latest.zip.
- Uma versão pre-release disponível para download em » http://qa.php.net/.
- Você sempre tem a opção de obter o PHP através da conta » anônima do CVS.
Suporte a SAPI do Apache 2.0 começou no PHP 4.2.0. PHP 4.2.3 funciona com Apache 2.0.39, não use qualquer outra versão de Apache com PHP 4.2.3. No entando, a configuração recomendada é usar o 4.3.0 ou superior com a versão mais recente do Apache2.
Todas as versões mencionadas do PHP ainda funcionarão com Apache 1.3.x.
Baixe a versão mais recente do » Apache 2.0 e uma versão adequada do PHP dos lugares mencionados acima. Esse guia rápido cobre apenas o básico para para começar a usar o Apache 2.0 e o PHP. Para mais informação, leia a » Documentação do Apache Os número de versão foram omitidos para assegurar que as instruções não estejam incorretas. Você precisará substituir o 'NN' com os valores corretos dos seus arquivos.
Exemplo #1 Instruções de Instalação (Versão de Módulo Compartilhado do Apache 2)
1. gzip -d httpd-2_0_NN.tar.gz 2. tar xvf httpd-2_0_NN.tar 3. gunzip php-NN.tar.gz 4. tar -xvf php-NN.tar 5. cd httpd-2_0_NN 6. ./configure --enable-so 7. make 8. make install Agora você tem o Apache 2.0.NN disponível no diretório /usr/local/apache2, configurado com suporte a módulo compartilhado e o prefork MPM padrão. Para testar a instalação use o procedimento normal para iniciar o servidor Apache, ex.: /usr/local/apache2/bin/apachectl start e pare o servidor para ir para a configuração do PHP: /usr/local/apache2/bin/apachectl stop. 9. cd ../php-NN 10. Agora, configure o seu PHP. É aqui que você personaliza seu PHP com várias opções, como quais extensões serão habilitadas. Execute o comando ./configure --help para uma lista das opções disponíveis. No nosso exemplo nós faremos uma simples configuração com Apache 2 e suporte ao MySQL. Seu caminho para o arquivo apxs pode ser diferente do exemplo. De fato, o binário pode até ser chamado de apxs2 no seu sistema. ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql 11. make 12. make install Se você decidir mudar as opções de seu configure depois da instalação você precisará somente repetir os últimos 3 passos. Você somente precisará reiniciar o Apache para o novo módulo funcionar. Não será necessário recompilar o Apache. Note que, por padrão, 'make install' também instalará PEAR, além de várias ferramentas do PHP como phpize, instalar o CLI do PHP e mais. 13. Configurando seu arquivo php.ini: cp php.ini-dist /usr/local/lib/php.ini Você pode editar o seu arquivo .ini para configurar as opções do PHP. Se você preferir que este arquivo fique em outro lugar, use a opção --with-config-file-path=/caminho no passo 10. Se ao invés de escolher o arquivo php.ini-dist, você escolher o arquivo php.ini-recommended, leia a lista de mudanças dentro do mesmo, uma vez que elas afetam a maneira como o PHP se comporta. 14. Edite o seu arquivo httpd.conf para carregar o módulo do PHP. O caminho no lado direito do comando LoadModule deve apontar para para o caminho do módulo PHP no seu sistema. O comando make install acima já deve ter adicionado estas linhas, mas tenha certeza de que as linhas abaixo foram adicionadas ao arquivo. Para o PHP 4: LoadModule php4_module libexec/libphp4.so Para o PHP 5: LoadModule php5_module libexec/libphp5.so 15. Diga ao Apache para avaliar certas extensões como PHP. Por exemplo, vamos fazer o Apache interpretar a extensão .php como um script PHP. Você poderia ter qualquer extensão(ões) avaliadas como PHP simplesmente adicionando-as, com cada uma separada por um espaço. Vamos adicionar .phtml para demonstrar. AddType application/x-httpd-php .php .phtml Também é comum configurar a extensão .phps para mostrar o código-fonte do script PHP com highlight, isso pode ser feito com: AddType application/x-httpd-php-source .phps 16. Use seu procedimento normal para iniciar o servidor Apache ex.: /usr/local/apache2/bin/apachectl start
Seguindo os passos acima você terá rodando o Apache 2.0 com suporte para o PHP como um módulo SAPI. Claro que existem muitas outras opções de configuração disponível para ambos, Apache e o PHP. Para mais informações use o comando ./configure --help na árvore de arquivos fontes correspondente. Caso você desejar compilar uma versão multithreaded do Apache 2.0, você deve sobrescrever o Módulo-MPM padrão prefork ou com o módulo worker ou com o perchild. Para fazer isso, acrescente ao comando configure no passo 6 acima a opção --with-mpm=worker ou --with-mpm=perchild . Tome cuidado com as consequências e entenda o que está fazendo. Para mais informações, leia a documentação do Apache sobre os » Módulos-MPM.
Nota:
Se você quiser usar negociação de conteúdo, leia o FAQ relacionado à MultiViews.
Nota:
Para compilar uma versão multithreaded do Apache, seu sistema deve suportar threads. Isso também implica compilar o PHP com o Zend Thread Safety (ZTS) experimental. Portanto, nem todas as extensões podem estar disponíveis. A configuração recomendada para compilar o Apache é com o Módulo-MPM prefork padrão.