Galera, a alguns dias tive problemas com a instalação do
PHP 5.5.7.
Usei o tutorial de um rapaz chamado Bruno, o tutorial é para o
php.5.5.16, tudo que fiz foi só mudar a verção na instalação. Espero que, assim como me ajudou muito, ajude alguém também.
Segue: Compilando PHP 5.5.16 (latest) do Zero!
Não é novidade que há sempre um lag entre o lançamento de novas versões do PHP e de sua disponibilização em pacotes de sistemas operacionais.
Esse lag significa que, dependendo do sistema operacional usado (e sua versão), podemos não conseguir manter o PHP atualizado sem recorrer a pacotes de terceiros. E claro, mesmo recorrendo a pacotes de terceiros, ainda corremos o risco de ter lag naquele bug fix ou security fix importante, que já estaria disponível para você, se você não dependesse de pacotes para atualizar o seu PHP.
Esse é o motivo de eu SEMPRE compilar as minhas instalações. Não só o PHP, mas a maioria dos softwares que uso nos ambientes de desenvolvimento e produção.
Nessa dica, eu mostrarei a vocês como compilar/instalar/executar o seu próprio PHP, é simples e fácil, e que qualquer desenvolvedor consegue fazer.
Sinta o poder em suas próprias mãos. Não há nada como compilar o seu software. ;)
Considerações
É importante notar que eu comecei uma instalação limpa do Ubuntu para montar esse tutorial, que nunca teve PHP instalado antes. Se você planeja seguir este tutorial com um servidor que já teve PHP instalado através de pacotes, telvez precise modificar algumas instruções. Qualquer dúvida ou problema com isso, fique à vontade para comentar.
Estou assumindo que você, como eu, não fica logado como root caso não seja necessário. Sempre que for necessário privilégio de root para um comando, usarei o comando
sudo antes do mesmo. Como boa prática, não é recomendado andar pelas terras do root sem que seja necessário.
Preparando o terreno
Pra instalar corretamente o PHP e, o mais importante, não ter surpresas indesejadas mais à frente, precisaremos resolver uma série de dependências do PHP.
Em 99% das minhas instalações, eu preciso de suportar MySQL ou PostgreSQL, então, vou me certificar de instalá-los também para que o PHP possa encontrá-los mais tarde.
sudo apt-get install build-essential #Instala aplicativos necessários pra compilar programas
sudo apt-get install postgresql-9.1 #Instala PostgreSQL 9.1
postgresql-client-9.1 postgresql-client-common \
postgresql-common postgresql-server-dev-9.1
sudo apt-get install mysql-client #Instala MySQL 5.5
mysql-client-5.5 mysql-common mysql-server \
mysql-server-5.5 mysql-server-core-5.5
sudo apt-get install libmcrypt-dev curl #Instala vim e libs necessárias para as configurações do PHP
libcurl4-openssl-dev openssl vim
Note que, para fins didáticos, como o foco aqui é o PHP, preferi instalar MySQL e PostgreSQL via gereciador de pacotes.
Resolvendo as dependências do PHP
Há uma série de outras dependências que precisam ser resolvidas antes de compilar o PHP, é importante resolver todas essas dependências pra não ter surpresas mais tarde.
Pra nossa sorte, através de um só comando, conseguimos resolver todas as dependências necessárias:
sudo apt-get build-dep php5
Tenha em mente que você pode pular esse passo, caso você queira. Mas nesse caso, boa sorte ao resolver todas as dependências na mão. :P
Configurando e instalando o PHP
Uma vez com todas as dependências do PHP resolvidas, agora é a hora de compilar e instalar o PHP.
O primeiro passo é baixar a última versão estável do PHP na página de downloads do PHP. A última versão do PHP durante a criação desse artigo, era a 5.5.16.
Vá para o diretório padrão de sources:
cd /usr/local/src/
Baixe a última versão do PHP:
sudo wget http://br1.php.net/get/php-5.5.16.tar.bz2/from/this/mirror -O php-5.5.16.tar.bz2
Descompacte o arquivo baixado:
sudo tar -vxjf php-5.5.16.tar.bz2
Vá para o diretório do PHP descompactado:
cd php-5.5.16
Agora, chegou o momento de configurar a instalação do PHP:
sudo ./configure --enable-opcache --prefix=/opt/php
--with-apxs2=/usr/bin/apxs2 --with-mysql=mysqlnd \
--with-mysqli=mysqlnd --with-pgsql=/usr --with-tidy=/usr \
--with-curl=/usr/bin --with-openssl=/usr \
--with-zlib-dir=/usr --with-xpm-dir=/usr \
--with-pdo-pgsql=/usr --with-pdo-mysql=mysqlnd \
--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-freetype-dir=/usr \
--enable-mbstring --enable-zip --with-pear \
--with-libdir=/lib/x86_64-linux-gnu --with-config-file-path=/opt \
--enable-fpm --with-openssl
Explicando as diretivas mais importantes:
- --enable-opcache: Essa flag é nova no PHP 5.5. O Zend Opcache foi integrado no core do PHP 5.5, e essa flag é quem habilita o Zend Opcode como opcode handler padrão da sua instalação.
- --prefix=/opt/php: Essa diretiva diz onde o PHP será instalado.
- --with-config-file-path=/opt: Essa diretiva ajuda o PHP a encontrar o seu php.ini. Tive problemas em não usá-la no PHP 5.4, então, não a tiro mais.
- --enable-fpm: Habilita o PHP-FPM.
Logo que o
./configure tenha terminado de rodar, compile a sua instalação do PHP com o
make.
* Atenção: para compilar mais rápido, você pode usar o argumento
-jX no
make. Onde X é a quantidade de cores reais do computador/servidor + 1.
sudo make -j5
Logo que o make tenha terminado o seu trabalho, será solicitado a rodar
make test. Rode se isso for te fazer se sentir bem. :)
Eu, particularmente, nunca rodo
make test na instalação do PHP, a não ser que eu esteja compilando uma versão ainda não estável e queira reportar possíveis bugs para a Comunidade.
Agora, é só instalar o PHP:
sudo make install
Finalizando:
php.ini
O PHP não instala automaticamente um
php.ini, então, recomendo que você faça isso por ele.
Note que existem dois na pasta em que você descompactou o source do php. O
php.ini-development e o
php.ini-production. Escolha o que melhor se adequa ao seu uso e mova para um diretório onde o PHP irá encontrá-lo.
Exemplo:
sudo mv /usr/local/src/php-5.5.16/php.ini-production
/opt/php.ini
PATH
Por padrão, a sua instalação do PHP não está no PATH do seu sistema. Para fazê-lo, edite o arquivo
~/.bashrc do usuário e adicione a linha abaixo no final do arquivo:
export PATH=$PATH:/opt/php/bin
Isso adicionará os binários do seu PHP recém instalado no PATH do seu usuário. Para que o usuário root tenha acesso, é preciso:
Abrir o
visudo:
sudo visudo
Adicionar o caminho dos binários do PHP na
diretiva:secure_path do
visudo:
secure_path=...:/opt/php/bin;
opcache
Para usar o
opcode, que habilitamos na configuração da instalação, é preciso adicionar a linha
zend_extension=opcache.so ao seu arquivo
php.ini.
Você pode também precisar alterar a diretiva
opcache.enable=0 para
opcache.enable=1, caso ela já não esteja habilitada.
Nenhum comentário foi encontrado.