Как установить часовую зону в полости 5.2?

Я не нашел никакой важной информации (только трюки) о том, как установить часовой пояс по умолчанию в Lumen 5.2. Есть ли какой-либо чистый способ сделать это?

php,laravel,lumen,lumen-5.2,

2

Ответов: 5


2 принят

Это довольно легко сделать и показать в их config ([ 'app.timezone' => 'America / Chicago' ]); uration # accessing-configuration-values ??"rel =" nofollow "> страница документации :

Чтобы установить значения конфигурации во время выполнения, передайте массив в хелпер конфигурации:

app/config.php

Альтернативно, в :'timezone' => 'UTC',

APP_TIMEZONE=UTC

11 ов

В Lumen 5.2 класс Application действительно читает из APP_TIMEZONE '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 '=> env (' DB_CHARSET ',' utf8 '),' collation '=> env (' DB_COLLATION ',' utf8_unicode_ci '),' prefix '=> env (' DB_PREFIX ',' ') ** 'timezone' => env ('DB_TIMEZONE', '+00: 00'), ** 'strict' => env ('DB_STRICT_MODE', false),], переменная глажения.

Вы можете легко установить часовой пояс через .env-файл, используя или устанавливая переменную среды на вашем сервере:

config/app.php

Ни один из ответов, которые я читал во многих форумах, не решает проблему, потому что в файле /vendor/laravel/lumen-framework/config/database.php есть эта строка:

config/app.php

Вам нужно переписать этот файл конфигурации. Создайте файл database.php в папке конфигурации. Затем скопируйте все содержимое без строки часового пояса. Это работает для меня.


1

В vendor/laravel/lumen-framework/src/Application.php
вы можете изменить его

'Часовой пояс' => 'UTC',


0

Просто для того, чтобы возобновить и быть предельно ясным (в этом году 2018):

Все параметры конфигурации для инфраструктуры Lumen хранятся в файле .env.

В Lumen не существует в файл./** * 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')); ...


Но также, если мы посмотрим на config

env

ref: https://github.com/laravel/lumen-framework/blob/5.6/src/Application.php#L83

Мы видим, что Lumen не будет принимать configзначения, просто envзначение для установки часового пояса.

Таким образом, метод копирования / вставки /laravel/lumen-framework/config directoryдля использования full "Laravel style" configuration filesв Lumen не применим в этом случае и никогда не был.

Кроме того: эта техника является старой ссылкой на первую версию Lumen.
ref: https://lumen.laravel.com/docs/5.1#configuration-files . (старые документы)

В текущей версии 5.6 Lumen этот совет был удален из документации и, вероятно, был подсказкой, чтобы помочь мигрировать с Laravel в начальные времена Lumen, но больше не является хорошей практикой. Поэтому всегда используйте файлы .env .
ref: https://lumen.laravel.com/docs/5.6#configuration (новые документы)

PHP, Laravel, светового потока, лм-5,2,
Похожие вопросы