【问题标题】:Laravel output different that system time?Laravel 输出与系统时间不同?
【发布时间】:2017-10-02 16:41:42
【问题描述】:

我正在使用 laravel 和 forge。我有 papertrail 设置和不同的命令,应该在特定时间触发。即凌晨 4 点。

我今天注意到它仍然没有运行命令,所以我做了一些挖掘。现在我的系统时间是:

     Local time: Fri 2017-09-15 09:00:55 BST
  Universal time: Fri 2017-09-15 08:00:55 UTC
        RTC time: Fri 2017-09-15 08:00:55
       Time zone: Europe/London (BST, +0100)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no

这是正确的。但是,我的 papertrail 从日志中告诉我:

9 月 15 日 01:00:55 CRON:pam_unix(cron:session):会话为用户 forge 关闭

所以看起来 laravel/php 落后了。 app.php 中的时区设置为 'timezone' => 'Europe/London'

还有什么问题?

【问题讨论】:

  • 只是猜测,因为我不再使用 Laravel 开发。命令是由 php cli 运行的吗?如果是这样,那么在 php.ini 中指定正确的时区可能会有所帮助。
  • 要么,要么应用程序(Laravel)使用不同的时区。在 config/app.php 中检查您的时区
  • 我在 php.ini 和 laravel 配置中都设置为 Europe/London 并且还是一样
  • 您是否检查过您没有单独的 php.ini 用于 php cli?您是否重新启动了 php 进程和/或网络服务器?
  • 我检查了 php --ini 并发现它正在使用哪个。是的,我做到了

标签: php laravel cron


【解决方案1】:

也许对你有用:

在app/Providers/AppServiceProvider.php 中有一个启动功能。添加以下内容:

date_default_timezone_set('Your/TimeZone');

【讨论】:

    【解决方案2】:

    您必须在config/app.php 文件中设置正确的时区。我认为 Laravel 为你设定了时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-26
      • 1970-01-01
      • 2016-01-12
      • 1970-01-01
      • 2015-10-26
      • 1970-01-01
      • 1970-01-01
      • 2015-01-14
      相关资源
      最近更新 更多