@glaphire
Внутри контейнера проверяла на версиях 7.4.8 и 7.4.11, официальные образы php-fpm из докерхаба.
Все нормально в песочницах всех версий пхп на внешних сайтах, нормально при запуске этого же кода на 8.0.2 локально.
Обычный код, запущеный от веба и от консолиvar_dump(new DateTime()); die();
Дает ноль внутри контейнера:class DateTime#5 (0) { }
Дает обычное содержимое объекта при запуске от локально установленного php 8.0:
object(DateTime)#6 (3) { ["date"]=> string(26) "2021-03-05 14:50:52.333284" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "Europe/Helsinki" }Внутри контейнера в php.ini установлена таймзона «Europe/Helsinki», она показывается командой date_default_timezone_get.
Команда DateTime::getLastErrors() не выдает ошибок ни в одном случае:
array(4) {
'warning_count' =>
int(0)
'warnings' =>
array(0) {
}
'error_count' =>
int(0)
'errors' =>
array(0) {
}
}При этом, если вызвать внутри контейнера (new DateTime())->format('Y-m-d'), то прекрасно выводит текущую дату.
Не нашла описания такого бага в bugs.php.net для 7.4, что это может быть?
UPD. Добавила Dockerfile, docker-compose.yml и php.ini на гист
https://gist.github.com/glaphire/198580cef6d0b1d3a…
Решения вопроса 1
@glaphire
Буду рада комментариям и ответам, если кто-то может объяснить причину)
UPD.
Оказывается есть такой баг, но описан на сайте xdebug
https://bugs.xdebug.org/bug_view_page.php?bug_id=0…
6
комментариев
Ответы на вопрос 0
