Pesquise...

Últimos Posts

Arquivo de Posts

2026 - 2025 - 2024 - 2023 - 2022 - 2021 - 2020 - 2019 - 2018 - 2017 - 2016 - 2015 - 2014 - 2013 - 2012

Postagens Populares

Vem Comigo

     
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Tecnologia do Blogger.

Total de Acessos

Mostrando postagens com marcador Dica. Mostrar todas as postagens
Mostrando postagens com marcador Dica. Mostrar todas as postagens

Saudações,

Eu estive pensando este dias sobre o post SURY PHP EOL, e fiquei com uma "pulga atrás da orelha".

Tive o seguinte pensamento: E se alguém ficou curioso sobre a instalação do PHP 7.4, no Debian 9, de forma compilada?

Pois bem, es aqui "um norte" para você. Mas, esteja avisado, eu não fiz um post no tradicional estilo Ctrl+C e Ctrl+V! 😉


DICA RÁPIDA: Compilar PHP 7.4 no Debian 9


No passado, quando eu precisava compilar, eu tentava replicar, na medida do possível, o sistema alvo em um hardware de teste. Por exemplo, se um servidor rodava um Red Hat Linux 7.2, eu baixava uma cópia do sistema e efetuava uma instalação padrão em um hardware de teste.

Hoje com o advento das maquinas virtuais o processo ficou ainda mais simples. Sim, eu recomendo você iniciar em um ambiente de teste e somente depois passar para o ambiente de produção! Aqui eu uso o virt-manager...


Para esta dica, eu baixei o Debian 9 (Stretch) em debian.org/releases/stretch/debian-installer, e com o sistema rodando na VM, eu instalei com o apt-get alguns pacotes que são essenciais para a compilação do PHP...

# apt-get install build-essential libbz2-dev libc-client2007e libc-client2007e-dev libcurl4-openssl-dev libfcgi0ldbl libfcgi-dev libfreetype6-dev libjpeg62-turbo-dev libjpeg-dev libkrb5-dev libmcrypt-dev libpng-dev libpq-dev libssl-dev libxml2-dev libxslt1-dev

Esta é uma compilação básica. Aplicativos com o WordPress irá "reclamar" de um ou dois itens obrigatórios. Mas, nada que um pouco de trabalho não resolva! 😉

Acessei o php.net/releases e baixei o arquivo php-7.4.33.tar.gz no diretório /usr/src, e, para extrair o arquivo, usei o comando tar -xzf php-7.4.33.tar.gz. Depois acessei o diretório extraído com o comando cd php-7.4.33...


Passo 1 - ./configure

Dentro do diretório do código fonte do PHP execute um ./configure seguido das opções que você deseja. Onde --prefix=/opt/php-7.4.x será o diretório de instalação do PHP....


Se você deseja ter suporte IMAP no PHP, um passo extra será necessário; ou você incorrerá em um erro. Mas isto eu vou deixar como lição de casa para você. Não tenha medo, você consegue!

O ./configure checa bibliotecas, dependências, ferramentas necessárias, etc; ele prepara o terreno. Com um ./configure --help você lista todas as opções possíveis.

Se ao executar o ./configure você se deparar com alguns avisos de pacotes, não se preocupe. Pesquise o pacote em questão com um apt-cache search; veja o exemplo I e II... 


Exemplo I

AVISO
...
configure: error: Package requirements (sqlite3 > 3.7.4) were not met:
No package 'sqlite3' found
...

PESQUISE COM

# apt-cache search sqlite3 | egrep "dev"
...
libsqlite3-dev - SQLite 3 development files
...

INSTALE A DEPENDÊNCIA

# apt install libsqlite3-dev


Exemplo II

AVISO
...
configure: error: Package requirements (oniguruma) were not met:
No package 'oniguruma' found
...

PESQUISE COM

# apt-cache search oniguruma | egrep "dev"
...
libonig-dev - regular expressions library — development files
...

INSTALE A DEPENDÊNCIA

# apt install libonig-dev

Notou o padrão? Bem simples, não é mesmo? ^_^

Ok, agora eu acredito que você já resolveu todas as dependências, e executou com sucesso o ./configure.


Passo 2 - make

Aqui não há muito o que falar. Execute o make e aguarde! Dependendo dos recursos de processamento disponíveis, isto pode demorar um pouco.

Uma vez que o make foi executado com sucesso, vamos ao ultimo passo; a instalação.


Passo 3 - make install

Instale o PHP com o comando make install. Aqui tudo correu bem e, no final do processo, eu obtive a seguinte saída...


Agora com o PHP instalado você pode verificar a instalação executando /opt/php-7.4.x/bin/php --version...


Se você chegou até aqui, eu lhe dou os meus parabéns. Pois, como você deve ter percebido, eu "ocultei" algumas informações; e isto foi proposital. Eu quero que você leia, pesquise, entenda, erre se preciso, e no final aprenda.

Ficou curioso? Cliquei nos links abaixo e saiba mais!

thoughtbot.com/blog/the-magic-behind-configure-make-make-install

php.watch/articles/compile-php-ubuntu

linuxfromscratch.org/blfs/view/svn/general/php.html

php.net/manual/en/install.unix.debian.php#122244



Paz a todos!



Bonus: Debian 9 com ISPConfig e PHP 7.4.33

Se você usar o tutorial howtoforge.com/tutorial/how-to-install-php-7-on-debian como base, é possível ter o PHP 100% funcional com o ISPConfig.

Como eu uso este painel de controle de hospedagem a um bom tempo, eu efetuei uns testes e tudo saiu como o esperado.

Eu pessoalmente fiz algumas personalizações como...

LOCAL DO ARQUIVO PID

# vim /opt/php-7.4.x/etc/php-fpm.conf
...
pid = /run/php/php-7.4.x-fpm.pid
...

USAR SOCK NO LUGAR DE PORTA E DEFINIR O DONO/GRUPO EXPLICITAMENTE

# vim /opt/php-7.4.x/etc/php-fpm.d/www.conf
...
listen = /run/php/php-7.4.x-fpm.sock
...
listen.owner = www-data
listen.group = www-data
...

Dá uma olhada como ficou o ambiente de teste...


Sim sim, você não viu errado, também compilei o PHP 8.0.26 e o 8.2.0. Sendo que este ultimo, o PHP 8.2.0, foi compilado depois da compilação e instalação do OpenSSL 3.0.7; uma versão da série LTS.

Por isto que na página de informações você ver um --with-openssl=/opt/openssl-3.0.x e um PKG_CONFIG_PATH=/opt/openssl-3.0.x/lib64/pkgconfig no campo Configure Command...


Como a instalação do OpenSSL é um pouco diferente, eu envolvi no processo a criação do arquivo openssl-3.0.x.conf no diretório /etc/ld.so.conf.d...


Mas, esta conversa de PHP com OpenSSL "juntos e shallow now" fica para uma outra hora! 😅


Fica bem!