Compilando php5 com suporte a mysql e mysqli simultâneamente

Publicado por Eduardo Cereto Carvalho em 20/04/2006

[ Hits: 17.246 ]

 


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

Colocando o "bcompiler" pra funcionar no PHP5

Dicas de segurança em PHP

Populate Object - Aumentando a produtividade de forma bastante simples (PHP + formulário HTML)

Classe para validação de formulários em PHP

Servidor web PHP completo

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts