Browse Source

optimization install

Tokumeikoi 5 years ago
parent
commit
406f1ee80d
1 changed files with 24 additions and 0 deletions
  1. 24 0
      app/Console/Commands/V2boardInstall.php

+ 24 - 0
app/Console/Commands/V2boardInstall.php

@@ -109,6 +109,30 @@ class V2boardInstall extends Command
 
     private function saveToEnv($data = [])
     {
+        function set_env_var($key, $value)
+        {
+            if (! is_bool(strpos($value, ' '))) {
+                $value = '"' . $value . '"';
+            }
+            $key = strtoupper($key);
+
+            $envPath = app()->environmentFilePath();
+            $contents = file_get_contents($envPath);
+
+            preg_match("/^{$key}=[^\r\n]*/m", $contents, $matches);
+
+            $oldValue = count($matches) ? $matches[0] : '';
+
+            if ($oldValue) {
+                $contents = str_replace("{$oldValue}", "{$key}={$value}", $contents);
+            } else {
+                $contents = $contents . "\n{$key}={$value}\n";
+            }
+
+            $file = fopen($envPath, 'w');
+            fwrite($file, $contents);
+            return fclose($file);
+        }
         foreach($data as $key => $value) {
             set_env_var($key, $value);
         }