Olá. Essa é a minha primeira dica. Na verdade, é a minha primeira contribuição concreta para o comunidade. Vou cobrir umas dúvidas que eu tive ao compilar o
PHP 5.
O meu sistema é um Ubuntu 5.10 'Breezy Badger' com kernel 2.6.12-9. Estarei compilando a versão 5.0.5 do PHP.
Bom, vou cobrir desde o ínicio da compilação.
Primeiro você deve checar se tem as duas bibliotecas que o PHP 5 precisa:
Baixe o fonte das duas para uma pasta temporária e compile da seguinte maneira:
1. Zlib
$ cd zlib-xxx
$ ./configure --prefix=/usr/local/lib
$ make
$ su -c "make install"
LibXML
$ cd libxml-xxx
$ ./configure --prefix=/usr/local/lib
$ make
$ su -c "make install"
Agora baixe o fonte do PHP para o seu diretório temporário também. Aqui vão os parâmetros que eu costumo usar:
$ cd php-5.0.5
$ ./configure --prefix=/usr/local/php5 \
>
--with-apxs2=/usr/local/apache2/bin/apxs \
>
--with-libxml-dir=/usr/local/lib \
>
--with-zlib --with-zlib-dir=/usr/local/lib \
>
--with-mysql=/usr/local/mysql \
>
--with-mysql-sock=/tmp/mysql.sock \
>
--with-mysqli=/usr/local/mysql/bin/mysql_config \
>
--with-gd --enable-soap --enable-sockets
- --with-apxs2=: deve apontar para o arquivo apxs do seu Apache 2, qualquer que seja o caminho dele. O comando para o Apache 1 é diferente, cuidado;
- --with-mysql=: deve apontar para o diretório base do MySQL;
- --with-mysql-sock=: deve apontar para o arquivo mysql.sock que permite conexão por socket com o MySQL;
- --with-mysqli=: deve apontar para o arquivo mysql_config que vem junto com o MySQL. Normalmente ele está no diretório bin do mesmo.
Antes de chamar a compilação pelo make vem o pulo do gato. O PHP (pelo menos até a versão 5.0.5) tem um bug: se você tenta compilar o suporte à classe MySQL e MySQLi simultâneos, mas esse é facilmente contornado.
Depois de rodar o ./configure com os parâmetros, abra o arquivo Makefile em um editor de textos e procure pela linha que começa com EXTRA_LIBS. Nessa linha ele inclui -lmysqlclient duas vezes. Basta deletar a segunda, salvar e fechar o arquivo.
Agora continue compilando:
$ make
$ su -c "make install"
Pronto basta testar.