Запуск PHP: база данных часовых поясов повреждена

У меня есть сервер CentOS 5.2. Сейчас PHP версии 5.2.10 (php-5.2.10-1.el5.remi.i386), и я обновился до версии 5.3, tzdata также была обновлена ​​(tzdata-2009i-2.el5.noarch). После обновления Apache отказывается запускаться из-за сбоя PHP.

Вот 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**

С наилучшими пожеланиями, Седрик

3 ответа

Решение

Кажется, это ошибка, открытая на php.net: http://bugs.php.net/bug.php?id=48882

Здесь предлагается

добавить TZ=GMT в (apache) init.d скрипт.

Это должно решить проблему.

Это старый вопрос, но в любом случае вот ответ: в вопросе спрашивающий использует механизм suExec. те, кто использует mod_chroot или apache2, встроенный в ChrootDir, столкнутся с подобными проблемами.

убедитесь, что существуют {chroot}/etc/localtime и {chroot}/usr/share/zoneinfo - и все.

кредит идет по адресу: http://www.phwinfo.com/forum/alt-comp-lang-php/315265-timezone-database-corrupt.html

Исправлено на основе предыдущего ответа (CentOS v6):

nano /etc/init.d/httpd

но вместо UTC это GMT+1:00. Франция может быть GMT.

export TZ="Europe/Berlin"

и перезапустите:

service httpd restart
Другие вопросы по тегам