Jose Lorenzo Rodriguez 11 years ago
parent
commit
cfd5bb0e28

+ 5 - 1
src/Network/Session/DatabaseSession.php

@@ -102,7 +102,11 @@ class DatabaseSession implements SessionHandlerInterface
             return false;
         }
 
-        return $result['data'];
+        if (is_string($result['data'])) {
+            return $result['data'];
+        }
+
+        return stream_get_contents($result['data']);
     }
 
     /**

+ 1 - 1
tests/Fixture/SessionsFixture.php

@@ -30,7 +30,7 @@ class SessionsFixture extends TestFixture
      */
     public $fields = [
         'id' => ['type' => 'string', 'length' => 128],
-        'data' => ['type' => 'text', 'null' => true],
+        'data' => ['type' => 'binary', 'null' => true],
         'expires' => ['type' => 'integer', 'length' => 11, 'null' => true],
         '_constraints' => ['primary' => ['type' => 'primary', 'columns' => ['id']]]
     ];

+ 1 - 1
tests/TestCase/Network/Session/DatabaseSessionTest.php

@@ -175,6 +175,6 @@ class DatabaseSessionTest extends TestCase
         $entity->value = 'something';
         $result = $this->storage->write('key', serialize($entity));
         $data = TableRegistry::get('Sessions')->get('key')->data;
-        $this->assertEquals(serialize($entity), $data);
+        $this->assertEquals(serialize($entity), stream_get_contents($data));
     }
 }