{"id":1256,"date":"2012-11-26T17:36:50","date_gmt":"2012-11-26T17:36:50","guid":{"rendered":"http:\/\/leonardocotta.com.br\/blog\/?p=1256"},"modified":"2012-11-26T17:36:50","modified_gmt":"2012-11-26T17:36:50","slug":"compilacao-do-php-5-4-8","status":"publish","type":"post","link":"https:\/\/leonardocotta.com.br\/?p=1256","title":{"rendered":"compila\u00e7\u00e3o do PHP 5.4.8"},"content":{"rendered":"<h3>Bibliotecas necess\u00e1rias<\/h3>\n<p>Para conseguir compilar o PHP precisaremos que algumas bibliotecas estejam instaladas, insale-as com esse comando:<\/p>\n<div id=\"highlighter_448582\">\n<table>\n<tbody>\n<tr>\n<td><code>1<\/code><\/td>\n<td><code>$\u00a0<\/code><code>sudo<\/code>\u00a0<code>aptitude\u00a0<\/code><code>install<\/code>\u00a0<code><code>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\u00a0<\/code><\/code>libxml2-dev<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>Ap\u00f3s os 10MB de download voc\u00ea j\u00e1 pode partir para o download do c\u00f3digo-fonte do PHP.<\/p>\n<h3>Download do c\u00f3digo-fonte do PHP<\/h3>\n<p>Clique neste link\u00a0<a href=\"http:\/\/br.php.net\/get\/php-5.4.8.tar.bz2\/from\/a\/mirror\">http:\/\/br.php.net\/get\/php-5.4.8.tar.bz2\/from\/a\/mirror<\/a>\u00a0e fa\u00e7a o download do pacote.<\/p>\n<p>Feito isso voc\u00ea j\u00e1 tem o c\u00f3digo fonte do PHP e \u00e9 hora de configurar o compilador.<\/p>\n<h3>Compilando o c\u00f3digo-fonte do PHP<\/h3>\n<div id=\"highlighter_619803\">\n<div>\n<div>\n<table>\n<tbody>\n<tr>\n<td><code>1<\/code><\/td>\n<td><code>$ .\/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-<\/code><code>dir<\/code><code>=\/usr -with-zlib-<\/code><code>dir<\/code><code>=\/usr -<\/code><code>enable<\/code><code>-mbstring -with-xpm-<\/code><code>dir<\/code><code>=\/usr -with-pdo-pgsql=\/usr -with-pdo-mysql=\/usr -with-xsl=\/usr -with-ldap -with-xmlrpc -with-iconv-<\/code><code>dir<\/code><code>=\/usr -with-snmp=\/usr -<\/code><code>enable<\/code><code>-exif -<\/code><code>enable<\/code><code>-calendar -with-bz2=\/usr -with-mcrypt=\/usr -with-gd -with-jpeg-<\/code><code>dir<\/code><code>=\/usr -with-png-<\/code><code>dir<\/code><code>=\/usr -with-zlib-<\/code><code>dir<\/code><code>=\/usr -with-freetype-<\/code><code>dir<\/code><code>=\/usr -<\/code><code>enable<\/code><code>-mbstring -<\/code><code>enable<\/code><code>-zip -with-pear --with-config-<\/code><code>file<\/code><code>-path=\/usr\/<\/code><code>local<\/code><code>\/lib<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p>N\u00e3o se assuste, v\u00e3o aparecer MUITAS coisas na tela\u2026 Mas no final, se tudo deu certo, voc\u00ea receber\u00e1 a seguinte mensagem:<\/p>\n<pre>+--------------------------------------------------------------------+\n| License:                                                           |\n| This software is subject to the PHP License, available in this     |\n| distribution in the file LICENSE.  By continuing this installation |\n| process, you are bound by the terms of this license agreement.     |\n| If you do not agree with the terms of this license, you must abort |\n| the installation process at this point.                            |\n+--------------------------------------------------------------------+\n\nThank you for using PHP.<\/pre>\n<p>E agora \u00e9 hora de compilar, utilize os seguintes comandos:<\/p>\n<div id=\"highlighter_499984\">\n<div>\n<div>\n<table>\n<tbody>\n<tr>\n<td><code>1<\/code><\/td>\n<td><code>$\u00a0<\/code><code>sudo<\/code>\u00a0<code>make<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div>\n<table>\n<tbody>\n<tr>\n<td><code>2<\/code><\/td>\n<td><code>$\u00a0<\/code><code>sudo<\/code>\u00a0<code>make<\/code>\u00a0<code>-i\u00a0<\/code><code>install<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p>A compila\u00e7\u00e3o demora mas \u00e9 necess\u00e1ria\u2026 \u00c9 isso que vai fazer o PHP funcionar no seu computador.<\/p>\n<p>Quando tudo terminar, voc\u00ea pode digitar o comando\u00a0<code>php -v<\/code>\u00a0para ver a vers\u00e3o atual do PHP instalado no computador:<\/p>\n<div id=\"highlighter_865155\">\n<div>\n<table>\n<tbody>\n<tr>\n<td><code>1<\/code><\/td>\n<td><code>$ php -<\/code><code>v<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div>\n<table>\n<tbody>\n<tr>\n<td><code>2<\/code><\/td>\n<td>PHP 5.3.10-1ubuntu3.4 with Suhosin-Patch (cli) (built: Sep 12 2012 19:00:43)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div>\n<table>\n<tbody>\n<tr>\n<td><code>3<\/code><\/td>\n<td>Copyright (c) 1997-2012 The PHP Group<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div>\n<table>\n<tbody>\n<tr>\n<td><code>4<\/code><\/td>\n<td>Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Pronto! instalado com sucesso!<\/p>\n<p>N\u00e3o se esque\u00e7a de copiar o php.ini de desenvolvimento para a pasta do PHP:<\/p>\n<div id=\"highlighter_283611\">\n<div>\n<div>\n<table>\n<tbody>\n<tr>\n<td><code>1<\/code><\/td>\n<td><code>$\u00a0<\/code><code>sudo<\/code>\u00a0<code>cp<\/code>\u00a0<code>php.ini-development \/usr\/<\/code><code>local<\/code><code>\/lib\/php.ini<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<h3>Fazendo o Apache rodar o PHP corretamente<\/h3>\n<p>O PHP precisa ser um m\u00f3dulo do seu servidor WEB para tudo correr bem\u2026 Normalmente voc\u00ea n\u00e3o precisaria fazer isso, mas devido ao motivo de uso da flag -i no passo anterior, n\u00f3s precisamos fazer isso manualmente\u2026 Primeiro, mude o diret\u00f3rio:<\/p>\n<div id=\"highlighter_141646\">\n<div>\n<div>\n<table>\n<tbody>\n<tr>\n<td><code>1<\/code><\/td>\n<td><code>$\u00a0<\/code><code>cd<\/code>\u00a0<code>\/etc\/apache2\/mods-available<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p>Agora crie um arquivo chamado\u00a0<strong>php5.load<\/strong>\u00a0e coloque isso dentro dele:<\/p>\n<div id=\"highlighter_261523\">\n<div>\n<div>\n<table>\n<tbody>\n<tr>\n<td><code>1<\/code><\/td>\n<td><code>LoadModule php5_module \/usr\/lib\/apache2\/modules\/libphp5.so<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p>Salve o arquivo\u00a0<strong>php5.load<\/strong>\u00a0e crie outro arquivo, agora chamado\u00a0<strong>php5.conf<\/strong>, com o seguinte conte\u00fado:<\/p>\n<div id=\"highlighter_924173\">\n<div>\n<div>\n<table>\n<tbody>\n<tr>\n<td><code>1<\/code><\/td>\n<td><code>AddType application\/x-httpd-php .php .phtml .php3<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div>\n<table>\n<tbody>\n<tr>\n<td><code>2<\/code><\/td>\n<td><code>AddType application\/x-httpd-php-<\/code><code>source<\/code>\u00a0<code>.phps<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p>Pronto\u2026 Terminamos\u2026 S\u00f3 precisamos habilitar o m\u00f3dulo PHP no Apache e reiniciar o servidor, usaremos esses dois comandos:<\/p>\n<div id=\"highlighter_219832\">\n<div>\n<div>\n<table>\n<tbody>\n<tr>\n<td><code>1<\/code><\/td>\n<td><code>$\u00a0<\/code><code>sudo<\/code>\u00a0<code>a2enmod php5<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div>\n<table>\n<tbody>\n<tr>\n<td><code>2<\/code><\/td>\n<td><code>$\u00a0<\/code><code>sudo<\/code>\u00a0<code>\/etc\/init.d\/apache2 restart<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<h2 id=\"phpunit\">B\u00f4nus \u2013 Instala\u00e7\u00e3o do\u00a0<strong>PHPUnit<\/strong><\/h2>\n<p>O\u00a0<a title=\"PHPUnit\" href=\"http:\/\/www.phpunit.de\/\" target=\"_blank\" rel=\"noopener\">PHPUnit<\/a>\u00a0\u00e9 uma \u00f3tima ferramenta de teste unit\u00e1rio que ajuda muito no desenvolvimento, mas isso \u00e9 assunto para outro artigo. Vamos usar o\u00a0<strong>Pear<\/strong>, que foi instalado junto com o PHP, par instal\u00e1-lo da seguinte maneira:<\/p>\n<div id=\"highlighter_994104\">\n<div>\n<div>\n<table>\n<tbody>\n<tr>\n<td><code>1<\/code><\/td>\n<td><code>$\u00a0<\/code><code>sudo<\/code>\u00a0<code>pear channel-discover pear.phpunit.de<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div>\n<table>\n<tbody>\n<tr>\n<td><code>2<\/code><\/td>\n<td><code>$\u00a0<\/code><code>sudo<\/code>\u00a0<code>pear channel-discover components.ez.no<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div>\n<table>\n<tbody>\n<tr>\n<td><code>3<\/code><\/td>\n<td><code>$\u00a0<\/code><code>sudo<\/code>\u00a0<code>pear channel-discover pear.symfony-project.com<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<div>\n<table>\n<tbody>\n<tr>\n<td><code>4<\/code><\/td>\n<td><code>$\u00a0<\/code><code>sudo<\/code>\u00a0<code>pear\u00a0<\/code><code>install<\/code>\u00a0<code>phpunit\/PHPUnit<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>PHPUnit<\/strong>\u00a0Instalado e j\u00e1 pode passar a us\u00e1-lo. veja mais sobre ele em\u00a0<a href=\"http:\/\/www.phpunit.de\/manual\/3.7\/en\/index.html\">http:\/\/www.phpunit.de\/manual\/3.7\/en\/index.html<\/a><\/p>\n<p>Um grande abra\u00e7o!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bibliotecas necess\u00e1rias Para conseguir compilar o PHP precisaremos que algumas bibliotecas estejam instaladas, insale-as com esse comando: 1 $\u00a0sudo\u00a0aptitude\u00a0install\u00a0libtidy-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\u00a0libxml2-dev Ap\u00f3s os 10MB de download voc\u00ea j\u00e1 pode partir &hellip; <a href=\"https:\/\/leonardocotta.com.br\/?p=1256\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">compila\u00e7\u00e3o do PHP 5.4.8<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[50,20],"tags":[59,76,90,148,209,215],"class_list":["post-1256","post","type-post","status-publish","format-standard","hentry","category-php","category-programacao","tag-5-4-8","tag-bibliotecas","tag-compilacao","tag-instalacao-do-phpunit","tag-php-5-4-8","tag-phpunit"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=\/wp\/v2\/posts\/1256","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1256"}],"version-history":[{"count":0,"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=\/wp\/v2\/posts\/1256\/revisions"}],"wp:attachment":[{"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1256"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1256"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/leonardocotta.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1256"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}