Изменение значений env через контроллер в laravel - PullRequest
0 голосов
/ 24 января 2019

Есть ли способы, которыми я мог бы изменить значения моего файла .env с контроллеров в laravel?

Я нашел этот ответ , но он возвращает

Не определено свойство: App \ Http \ Контроллеры \ Admin \ PerformanceController :: $ Laravel

код

$path = base_path('.env');
$key = false;

if (file_exists($path)) {
  file_put_contents($path, str_replace(
    'APP_KEY='.$this->laravel['config']['app.key'], 'APP_DEBUG='.$key, file_get_contents($path)
   ));
}

Я хочу, чтобы в моей административной панели были опции для изменения режима отладки на true или false, так же, как у нас в контроллере есть команды ремесленников, такие как Artisan::call('down') или Artisan::call('up') что-то в этом роде.

Обновление

Теперь у меня есть этот код

$path = base_path('.env');
$key = 'true';

if (file_exists($path)) {
  file_put_contents($path, str_replace(
    'APP_DEBUG='.config('app.debug'), 'APP_DEBUG='.$key, file_get_contents($path)
  ));
}

этот код работает, но проблема в том, что он не удаляет старое значение.

До

APP_DEBUG=false

* После 1029 * APP_DEBUG=truefalse or APP_DEBUG=falsefalse есть идеи?

Ответы [ 2 ]

0 голосов
/ 24 января 2019

вместо использования $this->laravel['config']['app.key'] попробуйте config('app.key')

0 голосов
/ 24 января 2019

Это не очень хорошая идея, чтобы изменить конфигурацию .env. вместо этого используйте этот код там, где вы хотите изменить свой APP_KEY.

убедитесь, что вы не кэшировали свой конфиг

config(['app.key' => 'YOUR_NEW_KEY']);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...