Исправлено: WHM (CPanel) + Laravel Проблема часового пояса

При размещении Laravel на панели управления WHM, вам необходимо убедиться, что вы установили правильный часовой пояс в 4 местах:

1. Часовой пояс MySql
Часовой пояс MySql берется из времени сервера, которое может быть обновлено:

WHM Login > Server Configuration > Server Time
Войти в полноэкранный режим Выйти из полноэкранного режима

После обновления часового пояса необходимо перезапустить сервер.

2. Часовой пояс PHP
Это будет происходить из файла php.ini. Для обновления файла php.ini вам необходимо посетить:

WHM Login > MultiPHP Manager > Editor Mode > Choose the PHP Version
Войти в полноэкранный режим Выйти из полноэкранного режима

Обновите следующую переменную:

date.timezone = "UTC"
Войти в полноэкранный режим Выйти из полноэкранного режима

Перезапустите службы apache и php-fpm.

3. Часовой пояс Laravel
Обновите часовой пояс laravel в config/app.php:

...
'timezone' => 'UTC',
...

Войдите в полноэкранный режим Выход из полноэкранного режима

4. Сериализация времени даты
В своих моделях Laravel используйте следующий код:

protected function serializeDate(DateTimeInterface $date)
{
    return $date->format('Y-m-d H:i:s');
}
Войти в полноэкранный режим Выход из полноэкранного режима

Вы также можете создать модель Base.php с приведенным выше кодом и расширить все ваши модели до модели Base.

Оцените статью
devanswers.ru
Добавить комментарий