chelkaz
@chelkaz

Laravel 5.4 не правильно пишет TIMESTAMP. Почему?

В php.ini date.timezone = Europe/Moscow;
$date->getTimestamp() Показывает верно.
Cерверное время верное: Europe/Moscow
# date
Sat Apr 22 19:03:15 MSK 2017
Проверяю время базы:
SELECT CURRENT_TIMESTAMP; Показывает верное.
В Ларавел app/config стоит - 'timezone' => 'Europe/Moscow',
Проверяю в Ларавел: Carbon\Carbon::now() Вероное!
Но если работают очереди и происходит ошибка, то в таблицу failed_jobs В поле failed_at пишет дату на 3 часа раньше. То есть например не 19:00 а 16:00
Почему!??
  • Вопрос задан
  • 1466 просмотров
Пригласить эксперта
Ответы на вопрос 2
alexey-m-ukolov
@alexey-m-ukolov Куратор тега Laravel
Они выполняются через cli, у cli свой php.ini. Проверьте зону там. Просто для начала в командной строке выполните php -r "echo date('H:i:s');"
Ответ написан
wielski
@wielski
✔ Совет: Вам помогли? Отметьте ответы решением.
Laravel записывает дату в формате UTC.
Пропишите ваши поля даты в модели, после чего работайте с ним через Carbon как душе угодно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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