From e73c04501ebfe5d7e3f7895b349c941b7483ae6f Mon Sep 17 00:00:00 2001
From: Robin Appelman <icewind@owncloud.com>
Date: Tue, 28 May 2013 01:10:18 +0200
Subject: [PATCH] Fix session not working error

---
 lib/base.php             | 5 ++++-
 lib/session/internal.php | 1 -
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/base.php b/lib/base.php
index c6ea32362e..42b5752706 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -290,9 +290,12 @@ class OC {
 
 		try{
 			// set the session name to the instance id - which is unique
-			self::$session=new \OC\Session\Internal(OC_Util::getInstanceId());
+			self::$session = new \OC\Session\Internal(OC_Util::getInstanceId());
 			// if session cant be started break with http 500 error
 		}catch (Exception $e){
+			//set the session object to a dummy session so code relying on the session existing still works
+			self::$session = new \OC\Session\Memory('');
+
 			OC_Log::write('core', 'Session could not be initialized',
 				OC_Log::ERROR);
 
diff --git a/lib/session/internal.php b/lib/session/internal.php
index 713a154ecc..1f8fda47a9 100644
--- a/lib/session/internal.php
+++ b/lib/session/internal.php
@@ -17,7 +17,6 @@ namespace OC\Session;
  */
 class Internal extends Memory {
 	public function __construct($name) {
-		session_write_close();
 		session_name($name);
 		if (@session_start()) {
 			throw new \Exception('Failed to start session');
-- 
GitLab