У меня есть свежая установка 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");
?>
Решение:
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, например, локаль, которую я исправил теми же процедурами)
.