PHP - Instalação e dependências

Publicado por mario em 10/12/2014

[ Hits: 8.627 ]

 


PHP - Instalação e dependências



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.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Customizando o BASH

Desabilitando o chaveiro de sessão no Google Chrome

Configurando o sudo no Debian 6 Squeeze

Leitura de cartão SD no Fedora 18/19

Teclado ABNT2 em modo texto no Slackware 10

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts