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:
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:
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:
2 |
$ sudo /etc/init.d/apache2 restart |
Bônus – Instalação do PHPUnit
O 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!