search
HomeBackend DevelopmentPHP TutorialLumen timezone time zone setting method

Lumen timezone time zone setting method

Jun 29, 2018 pm 05:45 PM
lumenTime zone

When I used the Lumen framework to write code today, it was also my first time to experience Lumen. I encountered a problem. The time found from the database was 8 hours slower than the TIMESTAMP time saved in the database. Obviously this is a time zone setting problem. , I thought it could be solved within 1 minute, but I was wrong

According to the experience of Laravel 4.x and 5.0, you only need to set the 'timezone' parameter to 'PRC' in config/app.php Just fine, find Lumen's config directory, under the /vendor/laravel/lumen-framework/config path, but there is no timezone parameter option in the parameter options of config/app.php, and it is invalid even if it is added manually.

Then I thought about the .env file of Laravel 5, and found that there is no option for timezone setting in Lumen’s .env file.

Go back to the config directory and look at the settings in config/database.php. The default configuration for mysql is as follows:

'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,
],

In There is a database timezone setting here. The default is 00:00, which is UTC time. Changing it to 08:00 solves the problem. Since the project enabled the .env configuration file, a line

DB_TIMEZONE= 08:00

was finally added to the .env file. The database timezone problem was solved.

Although the timezone problem of the database has been solved, the timezone problem of the app has not been solved. Search the lumen project globally to find the place where timezone is used. It is in /vendor/laravel/lumen-framework/src/ The code for initializing the lumen timezone part was found in the Application.php file

/**
* 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();
}

The .env parameter used in the code is APP_TIMEZONE, and the value is UTC. Here, change UTC to PRC, or add

APP_TIMEZONE=PRC

lumen php's time zone setting problem in the .env file.

Summary of Lumen time zone settings

Edit .env file to add configuration

APP_TIMEZONE=PRC
DB_TIMEZONE=+08:00

If it is not enabled .env configuration file, edit

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

to modify the APP_TIMEZONE and DB_TIMEZONE parameter values ​​respectively.

Enable .env configuration file

Rename the .env.example file in the Lumen root directory to .env, edit /bootstrap/app.php, and cancel as follows Comments on the line of code
Dotenv::load(__DIR__.'/../');

Addition:

Because lumen uses Greenwich time by default, it needs to be converted to Beijing time.
Add

APP_TIMEZONE=PRC to .env
DB_TIMEZONE= 08:00

The time will be correct

Related recommendations:

Explanation of the simple implementation method of nginx real-time output

Detailed explanation of PHP comment syntax specifications and naming specifications

php language comments, single-line comments and multi-line comments related content

The above is the detailed content of Lumen timezone time zone setting method. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
PHP Performance Tuning for High Traffic WebsitesPHP Performance Tuning for High Traffic WebsitesMay 14, 2025 am 12:13 AM

ThesecrettokeepingaPHP-poweredwebsiterunningsmoothlyunderheavyloadinvolvesseveralkeystrategies:1)ImplementopcodecachingwithOPcachetoreducescriptexecutiontime,2)UsedatabasequerycachingwithRedistolessendatabaseload,3)LeverageCDNslikeCloudflareforservin

Dependency Injection in PHP: Code Examples for BeginnersDependency Injection in PHP: Code Examples for BeginnersMay 14, 2025 am 12:08 AM

You should care about DependencyInjection(DI) because it makes your code clearer and easier to maintain. 1) DI makes it more modular by decoupling classes, 2) improves the convenience of testing and code flexibility, 3) Use DI containers to manage complex dependencies, but pay attention to performance impact and circular dependencies, 4) The best practice is to rely on abstract interfaces to achieve loose coupling.

PHP Performance: is it possible to optimize the application?PHP Performance: is it possible to optimize the application?May 14, 2025 am 12:04 AM

Yes,optimizingaPHPapplicationispossibleandessential.1)ImplementcachingusingAPCutoreducedatabaseload.2)Optimizedatabaseswithindexing,efficientqueries,andconnectionpooling.3)Enhancecodewithbuilt-infunctions,avoidingglobalvariables,andusingopcodecaching

PHP Performance Optimization: The Ultimate GuidePHP Performance Optimization: The Ultimate GuideMay 14, 2025 am 12:02 AM

ThekeystrategiestosignificantlyboostPHPapplicationperformanceare:1)UseopcodecachinglikeOPcachetoreduceexecutiontime,2)Optimizedatabaseinteractionswithpreparedstatementsandproperindexing,3)ConfigurewebserverslikeNginxwithPHP-FPMforbetterperformance,4)

PHP Dependency Injection Container: A Quick StartPHP Dependency Injection Container: A Quick StartMay 13, 2025 am 12:11 AM

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Dependency Injection vs. Service Locator in PHPDependency Injection vs. Service Locator in PHPMay 13, 2025 am 12:10 AM

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHP performance optimization strategies.PHP performance optimization strategies.May 13, 2025 am 12:06 AM

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHP Email Validation: Ensuring Emails Are Sent CorrectlyPHP Email Validation: Ensuring Emails Are Sent CorrectlyMay 13, 2025 am 12:06 AM

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools