Heim  >  Artikel  >  Backend-Entwicklung  >  Lumen-Zeitzone So stellen Sie die Zeitzone ein

Lumen-Zeitzone So stellen Sie die Zeitzone ein

php中世界最好的语言
php中世界最好的语言Original
2018-05-19 14:34:131625Durchsuche

Dieses Mal zeige ich Ihnen, wie Sie die Zeitzone in der Lumen-Zeitzone einstellen. Was sind die Vorsichtsmaßnahmen zum Einstellen der Zeitzone in der Lumen-Zeitzone?

Basierend auf den Erfahrungen mit Laravel 4.x und 5.0 müssen Sie nur den Parameter „timezone“ in config/app.php auf „PRC“ setzen. Suchen Sie das Lumen-Konfigurationsverzeichnis in /vendor/laravel/. lumen-framework/config-Pfad, aber es gibt keine Zeitzonenparameteroption in den Parameteroptionen von config/app.php und sie ist ungültig, nachdem sie manuell hinzugefügt wurde.

Dann habe ich über die .env-Datei von Laravel 5 nachgedacht und festgestellt, dass es in der .env-Datei von Lumen keine Option für Zeitzoneneinstellungen gibt.

Gehen Sie zurück zum Konfigurationsverzeichnis und sehen Sie sich die Einstellungen in config/database.php an. Die Standardkonfiguration für MySQL lautet wie folgt:

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

Hier gibt es eine Zeitzoneneinstellung für die Datenbank. Der Standardwert ist +00:00, was der UTC-Zeit entspricht, und wurde zur Lösung des Problems in +08:00 geändert. Da das Projekt die .env-Konfigurationsdatei aktivierte, wurde schließlich eine Zeile

DB_TIMEZONE=+08:00

zur .env-Datei hinzugefügt, um das Datenbank-Zeitzonenproblem zu lösen.

Obwohl das Zeitzonenproblem der App gelöst wurde, habe ich das Lumen-Projekt global durchsucht und den Ort gefunden, an dem die Zeitzone verwendet wird Lumen-Zeitzonenteil in der /vendor/laravel/lumen-framework/src/Application.php-Datei

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

Der im Code verwendete .env-Parameter ist APP_TIMEZONE und der Wert ist UTC hier in PRC ändern oder

APP_TIMEZONE=PRC hinzufügen

in der .env-Datei Das Problem mit der Zeitzoneneinstellung von Lumen PHP wurde gelöst.

Zusammenfassung der Lumen-Zeitzoneneinstellungen

Bearbeiten Sie die .env-Datei, um Konfiguration hinzuzufügen

APP_TIMEZONE=PRC
DB_TIMEZONE=+08:00

Wenn die .env-Konfigurationsdatei nicht aktiviert ist, bearbeiten Sie sie

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

Ändern Sie die Parameterwerte APP_TIMEZONE bzw. DB_TIMEZONE.

Env-Konfigurationsdatei aktivieren

Benennen Sie die Datei .env.example im Lumen-Stammverzeichnis in .env um, bearbeiten Sie /bootstrap/app.php und brechen Sie ab folgt Kommentare zur Codezeile

Dotenv::load(DIR.'/../');

Ergänzung:

Da Lumen standardmäßig die Greenwich-Zeit verwendet, muss es in die Peking-Zeit konvertiert werden.
Fügen Sie

APP_TIMEZONE=PRC 
DB_TIMEZONE=+08:00

zu .env hinzu. Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website.

Empfohlene Lektüre:

Detaillierte Erläuterung der Algorithmusschritte zur Implementierung von Statistiken über die Anzahl der Einsen im Binärbereich in PHP

PHP-Entwicklung der WeChat-Fernsteuerung Detaillierte Erläuterung der Serverschritte

Das obige ist der detaillierte Inhalt vonLumen-Zeitzone So stellen Sie die Zeitzone ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn