如何在流明5.2中设置时区?

问题描述 投票:3回答:6

我没有找到关于如何在Lumen 5.2中设置默认时区的任何相关信息(仅限技巧)。有没有干净的方法来做到这一点?

php laravel lumen lumen-5.2
6个回答
3
投票

这很容易完成,并在他们的documentation page中显示:

要在运行时设置配置值,请将数组传递给配置帮助程序:

config(['app.timezone' => 'America/Chicago']);

或者,在app/config.php

'timezone' => 'UTC',

12
投票

在Lumen 5.2中,Application类实际上是从APP_TIMEZONE环境变量中读取的。

您可以使用或设置服务器上的环境变量,通过.env文件轻松设置时区:

APP_TIMEZONE=UTC

7
投票

我在很多论坛上阅读的回复都没有解决问题,因为在文件/vendor/laravel/lumen-framework/config/database.php中有这一行:

'mysql' => [
            'driver'    => 'mysql',
            'host'      => env('DB_HOST', 'localhost'),
            'port'      => env('DB_PORT', 3306),
            'database'  => env('DB_DATABASE', 'forge'),
            'username'  => env('DB_USERNAME', 'forge'),
            'password'  => env('DB_PASSWORD', ''),
            'charset'   => env('DB_CHARSET', 'utf8'),
            'collation' => env('DB_COLLATION', 'utf8_unicode_ci'),
            'prefix'    => env('DB_PREFIX', ''),
            **'timezone'  => env('DB_TIMEZONE', '+00:00'),**
            'strict'    => env('DB_STRICT_MODE', false),
        ],

您需要重写此配置文件。在config文件夹中创建database.php文件。然后复制所有内容而不使用时区线。这适合我。


2
投票

您可以在.env文件中添加时区

APP_TIMEZONE=YOUR_TIME_ZONE

文档:

List of Timezone

Lumen Documentation


1
投票

config/app.php 你可以改变它

'timezone'=>'UTC',


1
投票

只是恢复并且非常清楚(在2018年):

Lumen框架的所有配置选项都存储在.env文件中。

在Lumen不存在config/app.php文件。


但是,如果我们看看vendor/laravel/lumen-framework/src/Application.php

/**
 * Create a new Lumen application instance.
 *
 * @param  string|null  $basePath
 * @return void
 */
public function __construct($basePath = null)
{
    ...
        date_default_timezone_set(env('APP_TIMEZONE', 'UTC'));
    ...

ref:https://github.com/laravel/lumen-framework/blob/5.6/src/Application.php#L83

我们看到流明不会采用任何config值,只需要一个env值来设置时区。

所以复制/粘贴/laravel/lumen-framework/config directory在流明中使用full "Laravel style" configuration files的技术在这种情况下不适用,而且从来没有。

此外:该技术是对Lumen第一版的旧参考。 ref:https://lumen.laravel.com/docs/5.1#configuration-files。 (旧文档)

在Lumen的当前版本5.6中,已经从文档中删除了提示,并且可能是在Lumen的初始阶段帮助从Laravel迁移的提示,但不再是一个好的做法。所以总是使用.env文件。 ref:https://lumen.laravel.com/docs/5.6#configuration(新文档)

© www.soinside.com 2019 - 2024. All rights reserved.