Tag Archives: Compilação

compilação do PHP 5.4.8

Bibliotecas necessárias

Para conseguir compilar o PHP precisaremos que algumas bibliotecas estejam instaladas, insale-as com esse comando:

1 sudo aptitude install libtidy-dev curl libcurl4-openssl-dev libcurl3 libcurl3-gnutls zlib1g zlib1g-dev libxslt1-dev libzip-dev libzip1 libxml2 libsnmp-base libsnmp15 libxml2-dev libsnmp-dev libjpeg62 libjpeg62-dev libpng12-0 libpng12-dev zlib1g zlib1g-dev libfreetype6 libfreetype6-dev libbz2-dev libmcrypt-dev libxmp-dev libmcrypt4 libltdl-dev libxml2-dev

Após os 10MB de download você já pode partir para o download do código-fonte do PHP.

Download do código-fonte do PHP

Clique neste link http://br.php.net/get/php-5.4.8.tar.bz2/from/a/mirror e faça o download do pacote.

Feito isso você já tem o código fonte do PHP e é hora de configurar o compilador.

Compilando o código-fonte do PHP

1 $ ./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-ldap -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

Não se assuste, vão aparecer MUITAS coisas na tela… Mas no final, se tudo deu certo, você receberá a seguinte mensagem:

+--------------------------------------------------------------------+
| License:                                                           |
| This software is subject to the PHP License, available in this     |
| distribution in the file LICENSE.  By continuing this installation |
| process, you are bound by the terms of this license agreement.     |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point.                            |
+--------------------------------------------------------------------+

Thank you for using PHP.

E agora é hora de compilar, utilize os seguintes comandos:

1 sudo make
2 sudo make -i install

A compilação demora mas é necessária… É isso que vai fazer o PHP funcionar no seu computador.

Quando tudo terminar, você pode digitar o comando php -v para ver a versão atual do PHP instalado no computador:

1 $ php -v
2 PHP 5.3.10-1ubuntu3.4 with Suhosin-Patch (cli) (built: Sep 12 2012 19:00:43)
3 Copyright (c) 1997-2012 The PHP Group
4 Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies

Pronto! instalado com sucesso!

Não se esqueça de copiar o php.ini de desenvolvimento para a pasta do PHP:

1 sudo cp php.ini-development /usr/local/lib/php.ini

Fazendo o Apache rodar o PHP corretamente

O PHP precisa ser um módulo do seu servidor WEB para tudo correr bem… Normalmente você não precisaria fazer isso, mas devido ao motivo de uso da flag -i no passo anterior, nós precisamos fazer isso manualmente… Primeiro, mude o diretório:

1 cd /etc/apache2/mods-available

Agora crie um arquivo chamado php5.load e coloque isso dentro dele:

1 LoadModule php5_module /usr/lib/apache2/modules/libphp5.so

Salve o arquivo php5.load e crie outro arquivo, agora chamado php5.conf, com o seguinte conteúdo:

1 AddType application/x-httpd-php .php .phtml .php3
2 AddType application/x-httpd-php-source .phps

Pronto… Terminamos… Só precisamos habilitar o módulo PHP no Apache e reiniciar o servidor, usaremos esses dois comandos:

1 sudo a2enmod php5
2 sudo /etc/init.d/apache2 restart

Bônus – Instalação do PHPUnit

PHPUnit é uma ótima ferramenta de teste unitário que ajuda muito no desenvolvimento, mas isso é assunto para outro artigo. Vamos usar o Pear, que foi instalado junto com o PHP, par instalá-lo da seguinte maneira:

1 sudo pear channel-discover pear.phpunit.de
2 sudo pear channel-discover components.ez.no
3 sudo pear channel-discover pear.symfony-project.com
4 sudo pear install phpunit/PHPUnit

PHPUnit Instalado e já pode passar a usá-lo. veja mais sobre ele em http://www.phpunit.de/manual/3.7/en/index.html

Um grande abraço!