Maison  >  Article  >  développement back-end  >  Fuseau horaire de Lumen Comment définir le fuseau horaire

Fuseau horaire de Lumen Comment définir le fuseau horaire

php中世界最好的语言
php中世界最好的语言original
2018-05-19 14:34:131632parcourir

Cette fois, je vais vous montrer comment définir le fuseau horaire dans le fuseau horaire de Lumen. Quelles sont les précautions pour définir le fuseau horaire dans le fuseau horaire de Lumen. Ce qui suit est un cas pratique, jetons un coup d'œil.

Basé sur l'expérience de Laravel 4.x et 5.0, il vous suffit de définir le paramètre 'timezone' sur 'PRC' dans config/app.php, recherchez le répertoire de configuration Lumen, dans /vendor/laravel /lumen-framework/config chemin, mais il n'y a pas d'option de paramètre de fuseau horaire dans les options de paramètre de config/app.php, et elle n'est pas valide même si elle est ajoutée manuellement.

Ensuite, j'ai pensé au fichier .env de Laravel 5 et j'ai découvert qu'il n'y avait aucune option pour les paramètres de fuseau horaire dans le fichier .env de Lumen.

Retournez dans le répertoire config et regardez les paramètres dans config/database.php La configuration par défaut pour mysql est la suivante :

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

Il existe un paramètre de fuseau horaire pour la base de données. ici, la valeur par défaut + 00:00, qui est l'heure UTC, a été remplacée par +08:00 pour résoudre le problème. Depuis que le projet a activé le .env fichier de configuration, une ligne

DB_TIMEZONE=+08:00

a finalement été ajoutée au fichier .env pour résoudre le problème de fuseau horaire de la base de données.

Bien que le problème de fuseau horaire de la base de données ait été résolu, le problème de fuseau horaire de l'application n'a pas été résolu. J'ai recherché le projet Lumen globalement et j'ai trouvé l'endroit où le fuseau horaire est utilisé. partie du fuseau horaire lumen dans le fichier /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'));
 $this->basePath = $basePath;
 $this->bootstrapContainer();
 $this->registerErrorHandling();
}

Le paramètre .env utilisé dans le code est APP_TIMEZONE, et la valeur est UTC. Changez UTC en PRC ici, ou ajoutez

<.>APP_TIMEZONE=PRCLe problème de paramétrage du fuseau horaire de lumen php est résolu.

Résumé des paramètres de fuseau horaire de Lumen

Modifiez le fichier .env pour ajouter la configuration

Si le fichier de configuration .env n'est pas activé , éditez
APP_TIMEZONE=PRC
DB_TIMEZONE=+08:00

Modifiez respectivement les valeurs des paramètres APP_TIMEZONE et DB_TIMEZONE.
/vendor/laravel/lumen-framework/config/database.php
/vendor/laravel/lumen-framework/src/Application.php

Activer le fichier de configuration .env

Renommer le fichier .env.example dans le répertoire racine de Lumen en .env, modifier /bootstrap/app.php et annuler comme suit

Commentaires pour les lignes de code


Ajout :
Dotenv::load(DIR.&#39;/../&#39;);

Étant donné que Lumen utilise l'heure de Greenwich par défaut, il doit être converti en heure de Pékin.

Ajoutez


à .env Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de PHP !
APP_TIMEZONE=PRC 
DB_TIMEZONE=+08:00

Lecture recommandée :

Explication détaillée des étapes de l'algorithme pour implémenter les statistiques du nombre de 1 en binaire en PHP


Développement PHP de la télécommande WeChat Explication détaillée des étapes du serveur

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn