Я знаю, некоторые из вас могут подумать, что это приведет к проблеме безопасности.100 ?
Но ...
Я хочу обновить только 2
определенные флаги, потому что иногда я хочу видеть отчеты, а иногда нет.Если у меня есть способ обновить эти флаги - я могу просто подключить маршрут для переключения этих функций - через ярлык Apple iPhone, когда я хочу видеть отчеты по электронной почте или SMS.
Я пытался
создал маршрут
Route::get('/env/{flag}/{value}','GeneralController@envUpdate');
назвал его
http://localhost/env/MAIL_REPORT/false
, который вызовет эту функцию
public function setEnv($key, $val)
{
$path = base_path('.env');
if (file_exists($path)) {
file_put_contents($path, str_replace(
$key . '=' . env($key), $key . '=' . $val, file_get_contents($path)
));
}
}
public function envUpdate($flag,$value)
{
//dd($flag,$value);
$allow_flags = ["MAIL_REPORT", "SMS_REPORT"];
if (in_array($flag, $allow_flags))
{
setEnv((string)$flag, (string)$value);
return env(env((string)$flag));
}
}
Я продолжал получать true
, потому что в моем .env, кажется, не обновляется
MAIL_REPORT=true
Я предполагаю, что MAIL_REPORT=false
Примечание : Я уже пробежал: sudo chmod 777 .env
Как можно было бы продолжить и отладить это?