Я не нашел никакой соответствующей информации (только хитрости) о том, как установить часовой пояс по умолчанию в Lumen 5.2. Есть ли какой-нибудь чистый способ сделать это?
Это довольно легко сделать и показать их страница документации:
Чтобы установить значения конфигурации во время выполнения, передайте массив в конфигурацию
помощник:
config(['app.timezone' => 'America/Chicago']);
В качестве альтернативы, в app/config.php
:
'timezone' => 'UTC',
В Lumen 5.2 класс Application фактически читает переменную окружения APP_TIMEZONE.
Вы можете легко установить часовой пояс с помощью файла .env, используя или установив переменную окружения на вашем сервере:
APP_TIMEZONE=UTC
Ни один из ответов, которые я читал на многих форумах, не решает проблему, потому что в файле /vendor/laravel/lumen-framework/config/database.php есть эта строка:
'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),
],
В config/app.php
Вы можете изменить это
‘часовой пояс’ => ‘UTC’,
Просто чтобы возобновить и быть супер ясно (в этом 2018 году):
Все параметры конфигурации для инфраструктуры Lumen хранятся в
файл .env.
В люмен не существует config/app.php
файл.
Но также, если мы посмотрим на 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'));
...
ссылка: https://github.com/laravel/lumen-framework/blob/5.6/src/Application.php#L83
Мы видим, что Люмен не возьмет config
значение, просто env
значение для установки часового пояса.
Так что техника копирования / вставки /laravel/lumen-framework/config directory
использовать full "Laravel style" configuration files
в люмен не применим в этом случае и никогда не было.
Кроме того: эта техника является старой ссылкой на первую версию Lumen.
ссылка: https://lumen.laravel.com/docs/5.1#configuration-files. (старые документы)
В текущей версии 5.6 Lumen эта подсказка была удалена из документации и, вероятно, была подсказкой, помогающей перейти с Laravel в начальные времена Lumen, но больше не является хорошей практикой. Так что используйте .env файлы всегда.
ссылка: https://lumen.laravel.com/docs/5.6#configuration (новые документы)