'success', 'message' => 'Success, Your connection works!', 'test' => 1, ]); } return Response::json([ 'status' => 'error', 'message' => 'Unable to connect! Please check your settings', 'test' => 1, ]); } $config = "APP_ENV=production\n". "APP_DEBUG=false\n". "APP_URL={$app_url}\n". "APP_KEY={$app_key}\n\n". "DB_TYPE=mysql\n". "DB_HOST={$database['host']}\n". "DB_DATABASE={$database['name']}\n". "DB_USERNAME={$database['username']}\n". "DB_PASSWORD={$database['password']}\n\n". "MAIL_DRIVER={$mail['driver']}\n". "MAIL_PORT={$mail['port']}\n". "MAIL_ENCRYPTION={$mail['encryption']}\n". "MAIL_HOST={$mail['host']}\n". "MAIL_USERNAME={$mail['username']}\n". "MAIL_FROM_NAME={$mail['from_name']}\n". "MAIL_FROM_ADDRESS={$mail['from_address']}\n". "MAIL_PASSWORD={$mail['password']}\n\n"; $fp = fopen(base_path().'/.env', 'w'); fwrite($fp, $config); fclose($fp); Config::set('database.default', $database['type']); Config::set('database.connections.mysql.host', $database['host']); Config::set('database.connections.mysql.database', $database['name']); Config::set('database.connections.mysql.username', $database['username']); Config::set('database.connections.mysql.password', $database['password']); DB::reconnect(); Artisan::call('migrate', ['--force' => true]); if (Timezone::count() == 0) { Artisan::call('db:seed', ['--force' => true]); } Artisan::call('optimize', ['--force' => true]); $fp = fopen(base_path().'/installed', 'w'); fwrite($fp, $version); fclose($fp); return Redirect::route('showSignup', ['first_run' => 'yup']); } private function testDatabase($database) { Config::set('database.default', $database['type']); Config::set('database.connections.mysql.host', $database['host']); Config::set('database.connections.mysql.database', $database['name']); Config::set('database.connections.mysql.username', $database['username']); Config::set('database.connections.mysql.password', $database['password']); try { DB::reconnect(); $success = DB::connection()->getDatabaseName() ? 'yes' : 'no'; } catch (Exception $e) { return $e->getMessage(); } return $success; } }