Compilando PHP 5.4.X no Debian/Ubuntu

Publicado por Vitor Luis em 25/02/2013

[ Hits: 44.549 ]

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

Shell script - Variáveis especiais

Split de String em C++

Manipulação de strings no bash

Leitura recomendada

CentOS 5 - Desabilitando serviços desnecessários

Segurança em servidores

Conheça o OFRIS - o congelador de sistema para o Linux!

Convertendo arquivos com extensão amr para mp3

Fazendo o touchpad do Dell 3550 (ALPS touchpad) funcionar

  

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