Heim > Artikel > Backend-Entwicklung > Lumen-Zeitzone So stellen Sie die Zeitzone ein
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:
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!