'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); Artisan::call('migrate', array('--force' => true)); if (Timezone::count() == 0) { Artisan::call('db:seed', array('--force' => true)); } Artisan::call('optimize', array('--force' => true)); return Redirect::route('signup',['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; } }