【问题标题】:Changing app timezone via service provider通过服务提供商更改应用时区
【发布时间】:2017-11-27 02:44:32
【问题描述】:

我正在尝试制作一个可以通过.env 文件更改应用时区的包。

在我的.env 文件中,我添加了以下行:

APP_TIMEZONE=America/Toronto

现在,在我的包服务提供者类中,boot() 方法中有以下内容:

\Log::info(config('app.timezone'));
config(['app.timezone' => env('APP_TIMEZONE', 'UTC)')]);
\Log::info(config('app.timezone'));

我的日志文件确认app.timezone 已从UTC 更改为America/Toronto。但是,当我在数据库中插入一条新记录时,created_at 列仍然使用UTC

为什么会这样?在 Laravel 中使用本地时区正在成为一场噩梦。

【问题讨论】:

  • 您是否清除了配置缓存?只需运行 php artisan config:cache

标签: php laravel timezone


【解决方案1】:

您好像忘记运行 php artisan config:cache

【讨论】:

  • 你是在告诉我,我必须在 boot() 方法中为每个请求运行这个命令?
  • 不,只在您切换时区后一次。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-12-10
  • 1970-01-01
  • 1970-01-01
  • 2016-08-23
  • 1970-01-01
  • 1970-01-01
  • 2015-11-02
相关资源
最近更新 更多