Size: a a a

Laravel для начинающих

2021 March 05

EG

Egor Gruzdev in Laravel для начинающих
Alexander Grigorev
Помогите решить проблему, при выполнении скрипта через cli, eloquent отдает даты на 3 часа меньше, через fpm нормально, конфиги app.timezone в порядке, остальные функции date итд тоже в порядке именно в eloquent проблема
eloquent при сериализации модели (json и др.) переводит время в UTC
источник

AH

Andrey Helldar in Laravel для начинающих
Alexander Grigorev
Помогите решить проблему, при выполнении скрипта через cli, eloquent отдает даты на 3 часа меньше, через fpm нормально, конфиги app.timezone в порядке, остальные функции date итд тоже в порядке именно в eloquent проблема
php-fpm в докер контейнере крутится или на самой машине?

Если в контейнере, то нужно исправить таймзону на хосте - в контейнере она, значит, правильная.

Если на хосте, то перезапусти сервис php-fpm. Явно конфиг сменили на сервере, а fpm "помнит" старые значения до перезапуска.
источник

AG

Alexander Grigorev in Laravel для начинающих
Да, в докере, но повлияет ли это на cli? fpm в отдельном , postgres в отдельном
источник

A

Alotgames in Laravel для начинающих
Не пойму как подключить аналитику гугл
источник

AH

Andrey Helldar in Laravel для начинающих
Egor Gruzdev
eloquent при сериализации модели (json и др.) переводит время в UTC
Нет, он не сбивает таймзону.

Например, база в таймзоне UTC+3.
В приложении мы не указываем таймзону базы и приложение будет думать что там такая же, как в приложении - UTC+5.

Carbon::parse('2021-03-05 10:12:43') сохранит в базу "2021-03-05 10:12:43"
источник

A

Alotgames in Laravel для начинающих
Есть приложение в нем аналитика как ее подключить к Laravel
источник

AH

Andrey Helldar in Laravel для начинающих
Alexander Grigorev
Да, в докере, но повлияет ли это на cli? fpm в отдельном , postgres в отдельном
Конечно. Cli запускается с хостовой машины (читай с другого сервера)
источник

AG

Alexander Grigorev in Laravel для начинающих
Andrey Helldar
Конечно. Cli запускается с хостовой машины (читай с другого сервера)
Спасибо, попробую
источник

AW

Andrei Work in Laravel для начинающих
Доброе утро. Сохраняю так файл:
 $file = $request->file->store('public/documents');

Затем отправляю на почту такую ссылку
 https://домен/public/storage/documents/sTSVvbs1Yxk3158TAMYfPNyg6gTT7LrxxjK9XzJo.docx 

Но она отдает 404. Линк сделан, файл есть. Что не так выполняю?
источник

EG

Egor Gruzdev in Laravel для начинающих
Если запуск через artisan, что в консольной, что в php-fpm timezone будет одинаковый, как в app.timezone
источник

AH

Andrey Helldar in Laravel для начинающих
Alexander Grigorev
Спасибо, попробую
Если в fpm всё верно, значит на самом хосте (сервере) таймзона кривая
источник

AH

Andrey Helldar in Laravel для начинающих
Egor Gruzdev
Если запуск через artisan, что в консольной, что в php-fpm timezone будет одинаковый, как в app.timezone
Нет, если cli на хосте, а fpm в контейнере
источник

AH

Andrey Helldar in Laravel для начинающих
Andrei Work
Доброе утро. Сохраняю так файл:
 $file = $request->file->store('public/documents');

Затем отправляю на почту такую ссылку
 https://домен/public/storage/documents/sTSVvbs1Yxk3158TAMYfPNyg6gTT7LrxxjK9XzJo.docx 

Но она отдает 404. Линк сделан, файл есть. Что не так выполняю?
Файл сохраняется по пути domain/public/storage/piblic/documents...
источник

EG

Egor Gruzdev in Laravel для начинающих
Andrey Helldar
Нет, если cli на хосте, а fpm в контейнере
Андрей, если скрипты, task и т.д. внутри стека вызова Laravel, то timezone будет устанавливаться через данный bootstrapper

Я конечно могу предположить на блокировку смены настроек указанных в php.ini, но что то не могу такого припомнить, в php-fpm есть возможность запрета, а вот в cli не помню
источник

lv

lara vast in Laravel для начинающих
можете подсказать, как в кастомный экзепшен (render) передать ошибки из формреквест
источник

EG

Egor Gruzdev in Laravel для начинающих
Egor Gruzdev
Андрей, если скрипты, task и т.д. внутри стека вызова Laravel, то timezone будет устанавливаться через данный bootstrapper

Я конечно могу предположить на блокировку смены настроек указанных в php.ini, но что то не могу такого припомнить, в php-fpm есть возможность запрета, а вот в cli не помню
P.S. по документации на вызов и работу date_default_timezone_set нет отграничений
источник

AH

Andrey Helldar in Laravel для начинающих
Egor Gruzdev
Андрей, если скрипты, task и т.д. внутри стека вызова Laravel, то timezone будет устанавливаться через данный bootstrapper

Я конечно могу предположить на блокировку смены настроек указанных в php.ini, но что то не могу такого припомнить, в php-fpm есть возможность запрета, а вот в cli не помню
Окей, допустим. Тогда объясни поведение в проблеме: https://t.me/laravel_web/497692
источник

AH

Andrey Helldar in Laravel для начинающих
База одна и та же. При запуске с fpm таймзона в порядке, а из консоли - нет.
источник

AW

Andrei Work in Laravel для начинающих
Andrey Helldar
Файл сохраняется по пути domain/public/storage/piblic/documents...
По такому урлу так же 404, файлы есть(
источник

EG

Egor Gruzdev in Laravel для начинающих
топикстартер ограничил проблему работой c eloquent, подробностей нет, я предположил, что разницу по времение он увидел в моделе которая выла выведена, возможноо, как сериализация для показа в консоли (а там UTC).

также возможно он запускает задачу по расписанию, а в задаче стоит переключение timezone

потому нужно больше данных для решения проблемы, если она вообще проблема
источник