You are here

public function NativeFileSessionHandler::__construct in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 vendor/symfony/http-foundation/Session/Storage/Handler/NativeFileSessionHandler.php \Symfony\Component\HttpFoundation\Session\Storage\Handler\NativeFileSessionHandler::__construct()

Constructor.

Parameters

string $savePath Path of directory to save session files.: Default null will leave setting as defined by PHP. '/path', 'N;/path', or 'N;octal-mode;/path

Throws

\InvalidArgumentException On invalid $savePath

See also

http://php.net/session.configuration.php#ini.session.save-path for further details.

File

vendor/symfony/http-foundation/Session/Storage/Handler/NativeFileSessionHandler.php, line 34

Class

NativeFileSessionHandler
NativeFileSessionHandler.

Namespace

Symfony\Component\HttpFoundation\Session\Storage\Handler

Code

public function __construct($savePath = null) {
  if (null === $savePath) {
    $savePath = ini_get('session.save_path');
  }
  $baseDir = $savePath;
  if ($count = substr_count($savePath, ';')) {
    if ($count > 2) {
      throw new \InvalidArgumentException(sprintf('Invalid argument $savePath \'%s\'', $savePath));
    }

    // characters after last ';' are the path
    $baseDir = ltrim(strrchr($savePath, ';'), ';');
  }
  if ($baseDir && !is_dir($baseDir)) {
    mkdir($baseDir, 0777, true);
  }
  ini_set('session.save_path', $savePath);
  ini_set('session.save_handler', 'files');
}