diff --git a/app/library/Services.php b/app/library/Services.php index cadae49..00e0e6c 100644 --- a/app/library/Services.php +++ b/app/library/Services.php @@ -187,15 +187,25 @@ class Services extends DiDefault { $config = $this->get('config'); - // Set session directory if defined. - if (isset($config->application->sessionDir)) { - session_save_path($config->application->sessionDir); + if (isset($config->session)) { + $data = $config->session->toArray(); + $adapter = $data['adapter']; + $options = $data['options']; + + $class = 'Phalcon\Session\Adapter\\' . $adapter; + $session = new $class($options); + } + // Default to File storage + else { + // Set session directory if defined. + if (isset($config->application->sessionDir)) { + session_save_path($config->application->sessionDir); + } + $session = new SessionAdapter(); } - // Create and start session. - $session = new SessionAdapter(); + // Start session. $session->start(); - return $session; }