De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
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.
# 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.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários