PHP Startup Error: Timezone Database Corrupt – Fix Guide

linuxPHPtimezone

I have a CentOS 5.2 server. PHP is now at the 5.2.10 version (php-5.2.10-1.el5.remi.i386), and I have updated to 5.3, tzdata was updated too (tzdata-2009i-2.el5.noarch). Since the update, Apache refuse to start because PHP crash.

Here is the httpd/error.log

[Wed Jul 08 11:40:21 2009] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) 
[Wed Jul 08 11:40:24 2009] [notice] Digest: generating secret for digest authentication ... 
[Wed Jul 08 11:40:24 2009] [notice] Digest: done PHP Strict Standards: PHP Startup: It is not safe to rely on the system's timezone settings.
Please use the date.timezone setting, the TZ environment variable or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected` 'Europe/Berlin' for 'CEST/2.0/DST' instead in Unknown on line 0
**PHP Fatal error: PHP Startup: Timezone database is corrupt - this should never happen! in Unknown on line 0**

Best regards, Cédric

Best Answer

It seems to be a bug opened on php.net: http://bugs.php.net/bug.php?id=48882

Here it is suggested to

add TZ=GMT in (apache) init.d script.

It should fix the problem.