Ошибка PHP 500: База данных часовых поясов повреждена - такого * никогда * не должно случиться

У меня есть свежая установка Ubuntu Server 16.04 amd64 с apache 2.4.18 и php 7.0.

Я chrootted Apache с mod_env и ChrootDir / var / www в /etc/apache2/apache2.conf и, насколько я знаю, проблема здесь. Я хочу выполнить установку NexctCloud 11, но при первом запуске возникает ошибка 500.

Журнал ошибок Apache:

[Fri Mar 17 08:21:22.262901 2017] [:error] [pid 31480] [client 193.175.51.226:55749] PHP Notice:  date_default_timezone_set(): Timezone ID 'UTC' is invalid in /html/sub.example.com/public_html/lib/base.php on line 637, referer: https://sub.example.com/
[Fri Mar 17 08:21:22.266581 2017] [:error] [pid 31480] [client 193.175.51.226:55749] PHP Warning:  DateTime::createFromFormat(): Invalid date.timezone value 'Europe/Berlin', we selected the timezone 'UTC' for now. in /html/sub.example.com/public_html/lib/private/Log/File.php on line 85, referer: https://sub.example.com/
[Fri Mar 17 08:21:22.266610 2017] [:error] [pid 31480] [client 193.175.51.226:55749] PHP Fatal error:  DateTime::createFromFormat(): Timezone database is corrupt - this should *never* happen! in /html/sub.example.com/public_html/lib/private/Log/File.php on line 85, referer: https://sub.example.com/

Если я деактивирую Chroot, все в порядке, но я предпочитаю другое решение, в котором у меня нет чтобы деактивировать chroot.

Я нашел одно предложение в Интернете: http://ivanbayan.com/index.php/2013/06/26/how-to-fix-timezone-database-is- коррупция-это-никогда-не должно происходить / , которую я пробовал (настроен для моего php7), но это не решило проблему. Также я попробовал несколько предложений отсюда, но не решил свою проблему: Запуск PHP: база данных часовых поясов повреждена

// Изменить: Похоже, проблема не только в NextCloud. Это проблема использования функции date () в PHP. Следующий сценарий приводит к той же ошибке:

<?php
date_default_timezone_set('Europe/Berlin');

echo date("l");
?>
0
задан 24 March 2017 в 12:28
1 ответ

Решение:

mkdir -p /var/www/usr/lib/locale
mkdir -p /var/www/usr/share/zoneinfo

cd /var/www
cp /etc/localtime etc/localtime
cp /usr/share/zoneinfo/ usr/share/zoneinfo/

Исправлена проблема (было больше ошибок с NectCloud и Chroot, например, локаль, которую я исправил теми же процедурами)

.
1
ответ дан 4 December 2019 в 16:19

Теги

Похожие вопросы