久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

Lumen timezone 時(shí)區(qū)設(shè)置方法(慢了8個(gè)小時(shí))

今天用 Lumen 框架寫代碼時(shí), 也是初次體驗(yàn) Lumen, 遇到了一個(gè)問題, 從數(shù)據(jù)庫里查出的時(shí)間比數(shù)據(jù)庫里保存的 TIMESTAMP 時(shí)間慢了8個(gè)小時(shí), 很明顯這是一個(gè)時(shí)區(qū)設(shè)置的問題, 本以為可以在1分鐘

根據(jù) Laravel 4.x 和 5.0 的經(jīng)驗(yàn), 只需要到 config/app.php 中設(shè)置下 ‘timezone' 參數(shù)為 ‘PRC' 就好了, 找到 Lumen 的 config 目錄, 在 /vendor/laravel/lumen-framework/config 路徑下, 但是 config/app.php 的參數(shù)選項(xiàng)中沒有 timezone 參數(shù)選項(xiàng), 手動加上后也是無效的。

然后想到 Laravel 5 的 .env 文件, 結(jié)果發(fā)現(xiàn) Lumen 的 .env 文件里也沒有關(guān)于 timezone 設(shè)置的選項(xiàng)。

又回到 config 目錄, 看看 config/database.php 中的設(shè)置, 關(guān)于 mysql 的默認(rèn)配置如下:


'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'  => 'utf8',
 'collation' => 'utf8_unicode_ci',
 'prefix'  => env('DB_PREFIX', ''),
 'timezone' => env('DB_TIMEZONE','+00:00'),
 'strict'  => false,
],

在這里有個(gè)數(shù)據(jù)庫的 timezone 設(shè)置, 默認(rèn) +00:00, 也就是 UTC 時(shí)間, 改成 +08:00 問題解決。由于項(xiàng)目啟用了 .env 配置文件, 所以最終是在 .env 文件里添加了一行

DB_TIMEZONE=+08:00

數(shù)據(jù)庫 timezone 問題解決。

數(shù)據(jù)庫的 timezone 問題雖然解決了, 但是 app 的 timezone 問題還沒解決, 全局搜索 lumen 項(xiàng)目, 找用到 timezone 的地方, 在 /vendor/laravel/lumen-framework/src/Application.php 文件中找到了初始化 lumen timezone 部分的代碼


/**
* 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'));
 $this->basePath = $basePath;
 $this->bootstrapContainer();
 $this->registerErrorHandling();
}

代碼中使用的 .env 參數(shù)為 APP_TIMEZONE, 值為 UTC, 在這里將 UTC 改為 PRC, 或者在 .env 文件里添加

APP_TIMEZONE=PRC

lumen php 的時(shí)區(qū)設(shè)置問題解決。

Lumen 時(shí)區(qū)設(shè)置總結(jié)

編輯 .env 文件添加配置


APP_TIMEZONE=PRC
DB_TIMEZONE=+08:00

若沒啟用 .env 配置文件, 編輯


/vendor/laravel/lumen-framework/config/database.php
/vendor/laravel/lumen-framework/src/Application.php

分別修改 APP_TIMEZONE 和 DB_TIMEZONE 參數(shù)值。

啟用 .env 配置文件

將 Lumen 根目錄下的 .env.example 文件重命名為 .env, 編輯 /bootstrap/app.php, 取消如下行代碼的注釋
Dotenv::load(__DIR__.'/../');

補(bǔ)充:

因?yàn)閘umen默認(rèn)使用格林尼治時(shí)間,需要轉(zhuǎn)成北京時(shí)間。
在.env中加入

APP_TIMEZONE=PRC
DB_TIMEZONE=+08:00

這樣時(shí)間就正確了

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

主站蜘蛛池模板: 欧美区在线| 在线伊人 | 中文精品视频 | 日韩成人在线免费观看 | 99精品视频在线 | 欧美精品一区二区三区在线播放 | 99精品欧美一区二区三区综合在线 | 欧美成年人视频在线观看 | 久久久久亚洲国产| 欧美视频一级 | 免费观看的av毛片的网站 | 日韩一区二区三区在线 | 一区二区三区在线免费观看 | 亚洲一本 | 日韩精品成人av | 精品国产视频在线观看 | 精品一区二区三区四区五区 | 黄色精品| 久久精品亚洲成在人线av网址 | 欧美一区精品 | 国产精品免费看 | 国产精品揄拍一区二区 | 免费黄色a级毛片 | 国产日韩一区二区 | 91精品国产一区二区三区 | 国产精品久久精品 | 午夜精品久久久 | 欧美视频成人 | 久久精品色欧美aⅴ一区二区 | 国产美女视频 | 曰韩三级| 国产高清免费 | 一级黄色生活视频 | 亚洲国产欧美一区二区三区久久 | 国产激情第一页 | 久久精彩视频 | 一区视频在线 | 日韩精品影院 | 亚洲高清在线 | 久久三区 | 亚洲一区二区三区四区五区中文 |