Lumen timezone 时区设置方法
今天用 Lumen 框架写代码时, 也是初次体验 Lumen, 遇到了一个问题, 从数据库里查出的时间比数据库里保存的 TIMESTAMP 时间慢了8个小时, 很明显这是一个时区设置的问题, 本以为可以在1分钟内解决的, 但是我错了
根据 Laravel 4.x 和 5.0 的经验, 只需要到 config/app.php 中设置下 ‘timezone' 参数为 ‘PRC' 就好了, 找到 Lumen 的 config 目录, 在 /vendor/laravel/lumen-framework/config 路径下, 但是 config/app.php 的参数选项中没有 timezone 参数选项, 手动加上后也是无效的。
然后想到 Laravel 5 的 .env 文件, 结果发现 Lumen 的 .env 文件里也没有关于 timezone 设置的选项。
又回到 config 目录, 看看 config/database.php 中的设置, 关于 mysql 的默认配置如下:
'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, ],
在这里有个数据库的 timezone 设置, 默认 +00:00, 也就是 UTC 时间, 改成 +08:00 问题解决。由于项目启用了 .env 配置文件, 所以最终是在 .env 文件里添加了一行
DB_TIMEZONE=+08:00
数据库 timezone 问题解决。
数据库的 timezone 问题虽然解决了, 但是 app 的 timezone 问题还没解决, 全局搜索 lumen 项目, 找用到 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 参数为 APP_TIMEZONE, 值为 UTC, 在这里将 UTC 改为 PRC, 或者在 .env 文件里添加
APP_TIMEZONE=PRC
lumen php 的时区设置问题解决。
Lumen 时区设置总结
编辑 .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 参数值。
启用 .env 配置文件
将 Lumen 根目录下的 .env.example 文件重命名为 .env, 编辑 /bootstrap/app.php, 取消如下行代码的注释
Dotenv::load(__DIR__.'/../');
补充:
因为lumen默认使用格林尼治时间,需要转成北京时间。
在.env中加入
APP_TIMEZONE=PRC
DB_TIMEZONE=+08:00
这样时间就正确了
相关推荐:
Atas ialah kandungan terperinci Lumen timezone 时区设置方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Zon waktu merujuk kepada masa standard yang digunakan di rantau di Bumi. Terdapat 24 zon waktu di dunia, dari UTC-12 hingga UTC+14. Apabila mengembara antara negara dengan zon waktu yang berbeza, anda perlu melaraskan masa anda mengikut zon waktu setiap negara. PHP mempunyai beberapa fungsi masa terbina dalam yang membolehkan anda menggunakan masa dalam mana-mana zon waktu di seluruh dunia.

Dengan perkembangan pesat Internet mudah alih dan perubahan dalam keperluan pengguna, sistem push mesej telah menjadi bahagian yang amat diperlukan dalam aplikasi moden Ia boleh merealisasikan pemberitahuan segera, peringatan, promosi, rangkaian sosial dan fungsi lain untuk menyediakan pengguna dan pelanggan perniagaan dengan perkhidmatan yang lebih baik pengalaman dan perkhidmatan. Untuk memenuhi permintaan ini, artikel ini akan memperkenalkan cara menggunakan rangka kerja PHP Lumen untuk membangunkan sistem tolak mesej yang cekap untuk menyediakan perkhidmatan tolak tepat pada masanya. 1. Pengenalan kepada Lumen Lumen ialah rangka kerja mikro yang dibangunkan oleh pasukan pembangunan rangka kerja Laravel Ia adalah a

Tajuk: Gunakan fungsi time.Unix untuk menukar cap masa Unix kepada format masa dan menetapkan zon waktu Dalam bahasa Go, kita selalunya perlu menukar cap masa Unix kepada format masa yang boleh dibaca dan selalunya perlu mempertimbangkan untuk menetapkan zon waktu. Artikel ini akan memperkenalkan cara menggunakan fungsi Unix dalam pakej masa untuk menyelesaikan tugasan ini dan menunjukkan cara untuk menetapkan zon waktu. Pertama, kita perlu memahami maksud cap waktu Unix. Cap waktu Unix ialah integer dalam saat yang mewakili masa sejak 1 Januari 1970

Cara menggunakan rangka kerja Lumen dalam PHP Lumen ialah versi ringkas rangka kerja Laravel, yang memfokuskan pada membina perkhidmatan mikro ringan dan aplikasi API dengan cepat. Lumen ialah rangka kerja sumber terbuka yang dicipta dan diselenggara oleh Taylor Otwell. Ia terkenal dengan kelajuan dan prestasi yang menakjubkan. Dalam artikel ini, kami akan memperkenalkan cara menggunakan rangka kerja Lumen dalam PHP. 1. Pasang dan konfigurasikan rangka kerja Lumen Mula-mula, anda perlu memasang alat komposer dalam sistem anda. Komp

Komputer adalah pembantu yang baik dalam kehidupan dan kerja kita Selepas menggunakan komputer untuk satu tempoh masa, sistem akan membeku. Pada ketika ini, anda perlu memasang semula sistem untuk menyelesaikan masalah Jadi bagaimana untuk memasang sistem pada komputer meja? Izinkan saya berkongsi dengan anda langkah-langkah tentang cara memasang sistem pada komputer anda. 1. Selepas memuat turun fail ISO format sistem, salin fail ISO dan pemasang NT6 (yang boleh dimuat turun sendiri) ke direktori akar pemacu selain daripada pemacu C pada komputer anda. Kedua-dua fail mesti berada dalam direktori yang sama . 2. Buka pemasang NT6 Selepas dibuka, gambar berikut akan muncul. 3. Selepas memulakan semula, masukkan imej di bawah Tekan imej di bawah dalam menu pilihan permulaan untuk memilih entri. 4. Klik Seterusnya untuk masuk Untuk pemasangan baharu, klik pilihan "Tersuai (Lanjutan)". 5. Selepas mengklik Sesuaikan Lanjutan, yang

Kawan-kawan, tahukah anda cara memilih zon waktu semasa menempah mesyuarat Tencent Hari ini, editor akan menerangkan cara memilih zon waktu ketika menempah mesyuarat Tencent harap ia dapat membantu anda. Langkah pertama: Masukkan APP Mesyuarat Tencent dan klik untuk menempah mesyuarat (seperti yang ditunjukkan dalam gambar). Langkah 2: Pilih jenis mesyuarat, seperti mesyuarat biasa, dan klik Seterusnya (seperti yang ditunjukkan dalam gambar). Langkah 3: Pada halaman tempahan mesyuarat, klik pada zon waktu (seperti yang ditunjukkan dalam gambar). Langkah 4: Pilih zon waktu (seperti yang ditunjukkan dalam gambar). Langkah 5: Jika tetapan berjaya, klik Selesai (seperti yang ditunjukkan dalam gambar).

PHP adalah salah satu bahasa skrip pelayan yang paling popular digunakan untuk pembangunan web, terutamanya pembangunan web dinamik. Dengan populariti Internet mudah alih, cap masa telah menjadi lebih dan lebih biasa dalam pembangunan web, jadi menukar cap masa kepada tarikh dan masa dalam format tertentu dalam PHP adalah kemahiran yang sangat penting. Artikel ini akan memperkenalkan cara menukar cap masa dalam PHP, serta tetapan zon waktu.

Cara mengubah suai zon waktu dalam PHP: 1. Tetapkan zon masa lalai ke Timur 8 dalam fail konfigurasi 2. Tetapkan zon masa melalui kod "date_default_timezone_set('Asia/Shanghai');" 3. Tetapkan "date_default_time_set (' dalam PRC pengepala halaman PHP');".
