Para esse exemplo estaremos utilizando a versão do php 5.6 com openlitespeed.
Raiz binários: /usr/local/lsws/lsphp56/bin

Primeiro Passo: Criar um diretório temporário

Estaremos criando o dirétorio "example-timezone" na pasta tmp do servidor de exemplo

# Criar diretório temporário
mkdir -p /tmp/example-timezonedb 

# Acessar diretório criado
cd /tmp/example-timezonedb

Segundo Passo: Baixar e descompactar a última versão da extensão

Estaremos utilizando o repositório de exetensões do PHP

# Baixar última versão da extensão
wget  -O timezone.tgz https://pecl.php.net/get/timezonedb

# Descompactar arquivo
tar -zxf timezonedb.tgz 

# Acessar a pasta descompactada
cd timezonedb*

Terceiro Passo: Configurar e compilar a extensão para versão do PHP

Nesse passo é importante verificar qual a versão do php que será atualizada, e também configurar utilizando o seus devidos arquivos binários

# Configuração
/usr/local/lsws/lsphp56/bin/phpize ./configure
./configure --with-php-config=/usr/local/lsws/lsphp56/bin/php-config

make
make test
make install

Quarto Passo: Adicionar a extensão no php

Nesse passo estaremos habilitando a extensão adicionando o arquivo.ini nas configurações do php. Nesse exemplo os diretórios dos módulos e o dos arquivos .ini estavam nos diretórios do comando abaixo

# Adicionar módulo ao PHP utilizado
cp modules/timezonedb.so /usr/local/lsws/lsphp56/lib64/php/modules/

# Ativar módulo
echo "extension=timezonedb.so"> /usr/local/lsws/lsphp56/etc/php.d/20-timezone.ini

Quinto Passo: Reiniciar o openlitespeed e verificar a nova extensão extensão

# Restart openlitespeed
systemctl restart lsws

# Verificar a extensão
/usr/local/lsws/lsphp56/bin/php -i | grep "Timezone Database"

# Para nosso exemplo a verificação retornou:
# "Olson" Timezone Database Version => 2022.5
# Timezone Database => external
# Alternative Timezone Database => enabled
# Timezone Database Version => 2022.5

# A versão confere com a última do momento atual

Caso a verificação do comando retorne os dados mais recentes da extensão, então a instalação está finalizada.

Gabriel Hinz
Engenheiro DevOps

Gabriel faz parte da nossa equipe de sentinelas dedicados para transformar o mundo digital.

Instagram