Попытка установить переменную среды из контроллера с помощью пакета phpdotenv, но выдает ошибку "Вызов неопределенного метода Dotenv \ Dotenv :: setEnvironmentVariable ()"
use Dotenv\Dotenv;
$env = new Dotenv(app()->environmentPath(), app()->environmentFile());
$env->setEnvironmentVariable('APP_ENV_TEST', 'testing');
Версия Laravel: 5.6
vlucas / phpdotenv: 2.4
@TimLewis Я хочу навсегда установить ключ и значение в файле env. т.е. FACEBOOK_APP_SECRET
Поэтому установите его вручную через выбранный вами терминал / редактор; Я спрашиваю, почему вы хотите, чтобы приложение делал это через контроллер.
Возможный дубликат Как программно установить значения .env в laravel на лету
@TimLewis Я создаю админку с помощью laravel. Таким образом, я должен предоставить пользователям-администраторам возможность изменять переменную среды из пользовательского интерфейса без изменения единственной строки кода.
так что на самом деле это не имеет ничего общего с концепцией "env" ... вы просто хотите записать в файл, который оказывается файлом .env?
есть ли другой способ загрузить настройки конфигурации из базы данных или предоставить способ записать kay & value в файл env






Быстрый вопрос; почему вы хотите, чтобы приложение устанавливало переменные
.env? Кроме того, Laravel предлагает способ изменять их на лету, используяconfig()->set("key", $value);.