Para generar una clave nueva para nuestra app de Laravel (APP_KEY) a través de web sin usar la linea de comandos podemos crear una ruta que llame a Artisan:
El comando para generar la clave es «key:generate» y para poner argumentos se pone en forma de array a continuación. Conseguimos la salida de Artisan con «Artisan::output()» a la que solo nos falta limpiar con rtrim.
Route::get('/generate-key', function() { Artisan::call('key:generate',['--show' => true]); $key = rtrim(Artisan::output()); return $key; });
Podemos hacer también que la escriba directamente, para esto debemos tener permisos de escritura en .env
Route::get('/write-key', function() { Artisan::call('key:generate'); });
Y si estamos en producción y queremos aún así generar y escribir la clave
Route::get('/force-write-key', function() { Artisan::call('key:generate',['--force' => true]); });