Localize o arquivo php.ini no seu servidor e ache a linha date.timezone.
Pronto agroa coloque ele assim:
date.timezone = "America/Sao_Paulo"
Pronto, agora de um restart no seu (Apache) e já esta funcionando.
Blog com conteúdo sobre os projetos que tenho trabalhado: SEGURANÇA DA INFORMAÇÃO, VOIP COM ASTERISK, VIRTUALIZAÇÃO DE SERVIDORES VMWARE SERVER, ESX, EMAIL, FIREWALL, WEB-PROXIES, VPN, MIGRAÇÕES, LDAP, SAMBA, AD, ORACLE, MySQL, RADIUS, DHCP, DNS, PHP, C++, AUTENTICAÇÃO WIFI, CAPTIVEPORTAL, SATELITE, NETWORK...
date.timezone = "America/Sao_Paulo"
[root@servidor01 ~]# dateTue Mar 22 20:16:15 CET 2013
[root@servidor01 ~]# rm -f /etc/localtime
[root@servidor01 ~]# ln -s /usr/share/zoneinfo/America/Sao_Paulo /etc/localtime
# Agora verifique se esta correto.
[root@servidor01 ~]# date Tue Mar 22 20:16:15 BRT 2013