Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Atualizando o timezone - Horário de Verão no PHP

Colaboração: Eduardo J. Chiconato

Data de Publicação: 19 de Outubro de 2007

É certo que essa dica está um pouco atrasada porém acho que é válida pro futuro ou até mesmo pra quem já deu um outro jeitinho, mudar como o PHP "vê" o horário de verão.

Encontrei na net outras formas de "corrigir o problema", do tipo:

Setando o date.timezone no php.ini para "Etc/GMT+2" OU setando o timezone no script ... date_default_timezone_set("Etc/GMT+2");

O que funciona ... até o término do horário de verão onde será necessário alterar de novo.

Nessa dica eu considerei os "comandos" e "paths de arquivos" numa máquina com a instalação abaixo, dependendo se sua instalação será necessário usar os devidos comandos e paths.

"Deve" funcionar em qualquer distribuição Linux, com php 4.0.0 ou mais novo e creio que a versão do Apache, nesse caso, é irrelevante ... talvez a forma como deverá ser restartado seja diferente.

Instalado em minha máquina:

  • Debian 2.6.18-5-k7
  • Apache/2.2.3
  • PHP Version 5.2.0-8+etch7

Requisitos:

  • make
  • phpize (É uma das "ferramentas" do php-dev)
  • pear (Sem o phpize, o pear para esse tutorial não funcionará e o pear é necessário para instalar extensões PECL)
  • timezonedb-2007.8.tgz (Extensão PECL com timezones e "horários de verão" atualizados)

Instalando (Considerando instalar todos os requisitos):

  # apt-get install make
  # apt-get install php-pear

Eu não conheço uma forma de instalar somente o phpize, portanto ...

  # apt-get install php5-dev

O timezonedb não consta no repositório do pear portanto deve ser baixado a versão mais nova, hoje é a 2007.8 do http://pecl.php.net/package/timezonedb e instalado local. Salve o "tgz" em qualquer pasta e nessa pasta ...

  # pear install timezonedb-2007.8.tgz

OU pra facilitar e visando uma futura automatização via shell script, que vc pode criar e registrar no cron para que rode de tempos em tempos ... (dica do amigo e meu professor de Linux: Evandro F. Abitante)

  # wget http://pecl.php.net/get/timezonedb
  # pear install timezonedb

Ao final da instalação, vc será instruído à inserir a seguinte linha no php.ini:

  extension=timezonedb.so

  # vi /etc/php5/apache2/php.ini

Caso use o php-cli também, então acrescente a linha "extension=timezonedb.so" no php.ini do php-cli ...

  # vi /etc/php5/cli/php.ini

Restarte o apache

  # /etc/init.d/apache2 restart

Teste se funcionou

Ao instalar o pear, também é instalado o php-cli e se vc editou o php.ini ...

  # php -r "print date('d/m/Y H:i:s e T');"

Ou então, crie um script e acesse pelo browser ...

  <?php
     echo date('d/m/Y H:i:s e T');
     /*
     Supondo que agora é 17/10/2007 23:59:51
     Horário de Verão e o seu timezone no php.ini é o default, ou seja,
     está comentado e portanto é usado o timezone de quando o php foi instalado,
     deverá ser retornado, no meu caso, ...
     17/10/2007 23:59:51 America/Sao_Paulo BRST
  
     Antes da atualização seria retornado ...
     17/10/2007 22:59:51 America/Sao_Paulo BRT
     */
  ?>

Bom, no dia 17/02/2008 00:00:00 (término do horário de verão), o retorno deverá ser ...

  16/02/2008 23:00:00 America/Sao_Paulo BRT

Se porventura, houver alteração na data de encerramento, será necessário instalar uma nova versão do timezonedb assim como será necessário essa instalação todo ano e quando for disponibilizado; o que deve ocorrer pouco tempo depois da publicação do decreto.

Só que dessa vez a atualização "provavelmente" se resumirá a baixar a nova versão (AAAA.V) do timezonedb e ...

  # pear install timezonedb-AAAA.V.tgz

Digo "provavelmente" porque instalei somente 1 vez

Caso seja de interesse, no site http://pcdsh01.on.br/DecHV.html é apresentado todos os "Decretos sobre o Horário de Verão no Brasil" com Estados participantes e período.

Veja a relação completa dos artigos de Eduardo J. Chiconato

Stumble Upon Digg This Del.icio.us Twitter Recomendar este artigo a um amigo Entre em contato Formato PDF
Newsfeed RSS
Formato para impressão
StumbleUpon Digg Del.icio.us Twitter Recomendar Contato PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 3.00/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (745 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Engenharia de Software na Prática


Encontre imóveis, apartamentos e casas a venda no Imobilien
Saiba mais