Compilando php5 com suporte a mysql e mysqli simultâneamente

Publicado por Eduardo Cereto Carvalho em 20/04/2006

[ Hits: 16.039 ]

 


Compilando php5 com suporte a mysql e mysqli simultâneamente



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.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Servidor web PHP completo

Driblando o REGISTER GLOBALS OFF

Escovando bits em PHP: operações bitwise e uma função debug

Agendando execução de scripts PHP

FirePHP: Depurador de códigos PHP

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts