É 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.
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.
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.