Compilando PHP 5.4.X no Debian/Ubuntu

Publicado por Vitor Luis em 25/02/2013

[ Hits: 44.962 ]

Blog: http://howtolinux.com.br/

 


Compilando PHP 5.4.X no Debian/Ubuntu



Olá pessoal!

Vou ensinar aqui como compilar o PHP 5.4 no Debian e Ubuntu. São passos simples, que até um usuário iniciante pode seguir e conseguir fazer a compilação.

O que precisamos é somente ter acesso à Internet.

Então, vamos lá.

Instalando bibliotecas necessárias

Para fazermos a compilação, devemos ter algumas bibliotecas instaladas no nosso sistema, e também os headers dessas bibliotecas.

Devemos também ter instalado o MySQL e o PostgreSQL para compilarmos junto o suporte do PHP para esses SGBDs.

Segue uma lista de bibliotecas que iremos instalar:
  • libxml2;
  • libreadline6;
  • libpng12;
  • libfreetype6;
  • curl;
  • zlib;
  • libbz2;
  • libJpeg6;
  • libltdl;
  • libtidy;
  • libxslt1;
  • libzip1;
  • libmcrypt4;
  • libsnmp;
  • gettext;
  • tcl8.5;
  • libcairo2;
  • libxpm;
  • librsvg2;
  • libpq;
  • libmysqlclient.

Segue o comando de instalação das bibliotecas:

# apt-get install libxml2 libxml2-dev libreadline6 libreadline6-dev libpng12-0 libpng12-dev libfreetype6 libfreetype6-dev curl libcurl4-openssl-dev libcurl3 libcurl3-gnutls zlib1g zlib1g-dev libbz2-dev libjpeg62 libjpeg62-dev libltdl-dev libtidy-dev libxslt1-dev libzip1 libzip-dev libmcrypt4 libmcrypt-dev libsnmp-base libsnmp-dev gettext tcl8.5 tcl8.5-dev tk8.5 libcairo2 libcairo2-dev libxpm-dev librsvg2-dev libpq-dev libmysqlclient-dev -y

Além dessas bibliotecas devemos também instalar alguns pacotes do Apache. Segue o comando de instalação:

# apt-get install apache2-mpm-prefork apache2-prefork-dev apache2-utils apache2.2-bin apache2.2-common -y

Nas distribuições baseadas no Ubuntu não há o link simbólico para as bibliotecas "libxpm.so" e "libmysqlclient.so". Caso esses links não existam em seu sistema, você pode fazer isso:

Obs.: Substitua "$ARCH" por sua arquitetura (i386 ou amd64).

# ln -s /usr/lib/$ARCH-linux-gnu/libXpm.so.4 /usr/lib/libXpm.so
# ln -s /usr/lib/$ARCH-linux-gnu/libXpm.so.4 /usr/lib/libXpm.so.4
# ln -s /usr/lib/$ARCH-linux-gnu/libXpm.a /usr/lib/libXpm.a
# ln -s /usr/lib/$ARCH-linux-gnu/libmysqlclient.so /usr/lib/libmysqlclient.so
# ln -s /usr/lib/$ARCH-linux-gnu/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
# ln -s /usr/lib/$ARCH-linux-gnu/libmysqlclient.a /usr/lib/libmysqlclient.a


Agora vamos para o próximo passo, que é a compilação e instalação.

Baixando, compilando e instalando

Depois de configurarmos as bibliotecas necessárias, vamos compilar e instalar o PHP.

Primeiramente vamos baixar e descompactar o PHP:

wget http://br1.php.net/distributions/php-5.4.10.tar.gz
tar -zxvf php-5.4.10.tar.gz
$ cd php-5.4.10.tar.gz


Agora nós devemos rodar o ./configure. Segue, ativando as principais opções:

./configure -with-apxs2=/usr/bin/apxs2 -with-mysql=/usr -with-mysqli=/usr/bin/mysql_config -with-pgsql=/usr -with-tidy=/usr -with-curl=/usr/bin -with-curlwrappers -with-openssl-dir=/usr -with-zlib-dir=/usr -enable-mbstring -with-xpm-dir=/usr -with-pdo-pgsql=/usr -with-pdo-mysql=/usr -with-xsl=/usr -with-xmlrpc -with-iconv-dir=/usr -with-snmp=/usr -enable-exif -enable-calendar -with-bz2=/usr -with-mcrypt=/usr -with-gd -with-jpeg-dir=/usr -with-png-dir=/usr -with-zlib-dir=/usr -with-freetype-dir=/usr -enable-mbstring -enable-zip -with-pear --with-config-file-path=/usr/local/lib --enable-sockets

Se o configure rodar corretamente, bastará compilar e instalar:

make
# make -i install


Vamos copiar o "php.ini" para o local correto:

# cp php.ini-development /usr/local/lib/php.ini

Agora devemos modificar algumas configurações do Apache. Vamos para o próximo passo.

Configurando o Apache

Depois da compilação e instalação do PHP devemos modificar algumas configurações do Apache.

Obs.: executar os comandos como root.

Devemos criar um arquivo de configuração para fazer o load da biblioteca "libphp5.so":

# cd /etc/apache2/mods-available
# touch php5.load
# echo "LoadModule php5_module /usr/lib/apache2/modules/libphp5.so" > php5.load


Depois do arquivo de load da biblioteca devemos criar outro arquivo de configuração para os MIME types do PHP:

# touch php5.conf
# echo "AddType application/x-httpd-php .php .phtml .php3\n" > php5.conf
# echo "AddType application/x-httpd-php-source .phps" >> php5.conf


Agora devemos habilitar o módulo do PHP:

# a2enmod php5

Após isso, devemos reiniciar o Apache:

# service apache2 restart

Com isso já temos o PHP corretamente instalado e configurado em nosso computador!

Conclusão

Para fazer um teste criaremos uma página com o seguinte conteúdo:

<?php
phpinfo();
?>

Se em sua tela aparecer algo como isso:
Linux: Compilando PHP 5.4.X no Debian/Ubuntu
O PHP foi instalado corretamente!

Qualquer dúvida ou sugestão, postem nos comentários.

Esta dica também está disponível em meu blog, segue o link:
Obrigado pela atenção, pessoal.

Abraços!

Outras dicas deste autor

Split de String em C++

Shell script - Variáveis especiais

Manipulação de strings no bash

Leitura recomendada

Como criar Discovery com Zabbix

Instalando driver para Linux da placa wireless BCM4310 da Broadcom

Configurando servidor DHCP3

Relação de confiança entre máquinas através do serviço SSH

Como instalar o TeamSpeak 3 no Ubuntu Linux

  

Comentários
[1] Comentário enviado por victormag em 23/04/2013 - 22:33h

Show de bola brother!
mas notei, que o o pdo pro mysql, nao vem instalado...
mas para o sqlite, vem.
você sabe como faço para instalar o pdo para o mysql?
valeu

[2] Comentário enviado por maxaka em 30/10/2013 - 00:37h

Show de bola ! Parabéns pelo artigo, me ajudou muito e deve ajudar muitas pessoas também ...

[3] Comentário enviado por prof.normando em 10/10/2018 - 15:49h

Vitor, tudo bem?
Muito obrigado pela sua disposição em distribuir conhecimento.
Eu tentei instalar os pacotes que você recomendou. Três deles, todavia, não foram instalados.
As libraries libreadline6 e libpng12 não estão disponíveis. Mas a linha de comando informa que seus conteúdos estão referenciados em outro pacote.
A library libzip1 não foi encontrada.
Estou rodando o Ubuntu Versão 18.04.1.
Tem alguma sugestão para o problema?
Agradecido, despeço-me.

Abraços.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts