Use package for .env editing
The solution provided by this package is similar to what was previously implemented (see #1), but it's nicely packaged and made available in a Facade.
This commit is contained in:
parent
4deb882d23
commit
0f126886f5
|
@ -110,7 +110,7 @@ class Install extends Command
|
||||||
|
|
||||||
foreach($settings as $keyname => $value)
|
foreach($settings as $keyname => $value)
|
||||||
{
|
{
|
||||||
$this->callSilent('environment:modify', [
|
$this->call('environment:modify', [
|
||||||
'key' => $keyname,
|
'key' => $keyname,
|
||||||
'value' => $value
|
'value' => $value
|
||||||
]);
|
]);
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
namespace App\Console\Commands;
|
namespace App\Console\Commands;
|
||||||
|
|
||||||
use Illuminate\Console\Command;
|
use Illuminate\Console\Command;
|
||||||
|
use GeoSot\EnvEditor\Facades\EnvEditor;
|
||||||
|
|
||||||
class SetEnv extends Command
|
class SetEnv extends Command
|
||||||
{
|
{
|
||||||
|
@ -38,43 +39,18 @@ class SetEnv extends Command
|
||||||
{
|
{
|
||||||
$path = base_path('/.env');
|
$path = base_path('/.env');
|
||||||
$key = $this->argument('key');
|
$key = $this->argument('key');
|
||||||
|
|
||||||
$value = $this->argument('value');
|
$value = $this->argument('value');
|
||||||
$originalValue = env($key);
|
|
||||||
|
|
||||||
if (is_null($originalValue))
|
|
||||||
{
|
|
||||||
// Attempt to silently fix issue
|
|
||||||
$this->callSilent('cache:clear');
|
|
||||||
$originalValue = env($key);
|
|
||||||
|
|
||||||
// Still fails? Let the user know
|
|
||||||
if (is_null($originalValue))
|
|
||||||
{
|
|
||||||
$this->error('[!!] Cannot update requested configuration value! This is a known Laravel issue. If you report a bug, keep that in mind.');
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (file_exists($path))
|
if (file_exists($path))
|
||||||
{
|
{
|
||||||
$file = file_get_contents($path);
|
EnvEditor::editKey($key, $value);
|
||||||
$newConfig = str_replace($key . '=' . $originalValue, $key . '=' . $value, $file);
|
|
||||||
|
|
||||||
file_put_contents(
|
|
||||||
$path,
|
|
||||||
$newConfig
|
|
||||||
);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$this->error('Cannot update a file that doesn\'t exist! Please create .env first.');
|
$this->error('Cannot update a file that doesn\'t exist! Please create .env first.');
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$this->info('>> Changed value! It may now be accessed via env() or config() if there\'s a file for it.');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
"doctrine/dbal": "^2.10",
|
"doctrine/dbal": "^2.10",
|
||||||
"fideloper/proxy": "^4.2",
|
"fideloper/proxy": "^4.2",
|
||||||
"fruitcake/laravel-cors": "^1.0",
|
"fruitcake/laravel-cors": "^1.0",
|
||||||
|
"geo-sot/laravel-env-editor": "^0.9.9",
|
||||||
"guzzlehttp/guzzle": "^6.5",
|
"guzzlehttp/guzzle": "^6.5",
|
||||||
"jeroennoten/laravel-adminlte": "^3.2",
|
"jeroennoten/laravel-adminlte": "^3.2",
|
||||||
"laravel/framework": "^7.0",
|
"laravel/framework": "^7.0",
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "fd14fa762c6ac8136b171abd8437e7d7",
|
"content-hash": "16e8efbacd91ef3417b21bd2648e1629",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "almasaeed2010/adminlte",
|
"name": "almasaeed2010/adminlte",
|
||||||
|
@ -1032,6 +1032,65 @@
|
||||||
],
|
],
|
||||||
"time": "2020-04-28T08:47:37+00:00"
|
"time": "2020-04-28T08:47:37+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "geo-sot/laravel-env-editor",
|
||||||
|
"version": "v0.9.9",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/GeoSot/Laravel-EnvEditor.git",
|
||||||
|
"reference": "e828d3d3310890286d0b53045de9381187258605"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/GeoSot/Laravel-EnvEditor/zipball/e828d3d3310890286d0b53045de9381187258605",
|
||||||
|
"reference": "e828d3d3310890286d0b53045de9381187258605",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"laravel/framework": "~5.5.0|~5.6.0|~5.7.0|~5.8.0|~6.0|~7.0",
|
||||||
|
"php": "^7.1"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"orchestra/testbench": "^3"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "0.9.*-dev"
|
||||||
|
},
|
||||||
|
"laravel": {
|
||||||
|
"providers": [
|
||||||
|
"GeoSot\\EnvEditor\\ServiceProvider"
|
||||||
|
],
|
||||||
|
"aliases": {
|
||||||
|
"EnvEditor": "GeoSot\\EnvEditor\\Facades\\EnvEditor"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"GeoSot\\EnvEditor\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Geo Sot",
|
||||||
|
"email": "geo.sotis@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A laravel Package that Supports .Env File editing and backup ",
|
||||||
|
"keywords": [
|
||||||
|
"EnvEditor",
|
||||||
|
"geo-sot",
|
||||||
|
"laravel",
|
||||||
|
"laravel-env-editor"
|
||||||
|
],
|
||||||
|
"time": "2020-04-17T23:33:36+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "guzzlehttp/guzzle",
|
"name": "guzzlehttp/guzzle",
|
||||||
"version": "6.5.4",
|
"version": "6.5.4",
|
||||||
|
|
Loading…
Reference in New Issue