Laravel 4原生会话驱动程序的工作原理如何?

时间:2013-06-04 16:04:53

标签: laravel laravel-4

我一直使用令人惊叹的Laravel4框架提供的会话后端驱动程序。 官方文件说:

  

默认情况下,Laravel配置为使用本机会话驱动程序,该驱动程序适用于大多数应用程序。

事实上,我保留了默认驱动程序,它可以很好地处理我所有的Session事务。所以,我毫不费力地发布我的应用程序 我需要了解本机驱动程序的“神奇”之处,以便与所有其他可用选项进行比较。

所以我的问题是: Laravel 4原生会话驱动程序究竟是如何工作的?

任何帮助表示感谢。

3 个答案:

答案 0 :(得分:3)

使用本机驱动程序的真正好处是它不需要任何其他设置。如果您在服务器上安装了PHP,并且授予/app/storage/sessions文件夹正确的权限,那么它将起作用。

您不需要正确配置数据库,也不需要像redis那样安装更高级的东西(尽管这些驱动程序都可以直接使用)。

另请注意,它不使用cookie来存储您的会话数据(不过这也是一个选项,可以将您的驱动程序更改为cookie。它确实使用cookie来跟踪您的会话ID - 尽管如此会话驱动程序。

答案 1 :(得分:1)

虽然很久以前这个问题已经结束,但这篇文章似乎在“laravel session”关键词中排名很高。

让我提醒别人一件事:

  • Laravel 4.0 使用“原生”驱动程序 - 会话将由内部PHP会话设施处理。

  • Laravel 4.1 & 4.2 使用“文件”驱动程序 - 会话将存储在app / storage / sessions中。不再支持“本地”驱动程序。(您无法选择它。)

因此,如果你想利用PHP原生会话,让我们说'session.upload_progress'功能,你只需要session_start(),然后使用原来的$ _SESSION。

查看官方文档:

http://laravel.com/docs/4.0/session

http://laravel.com/docs/4.1/session

http://laravel.com/docs/4.2/session

答案 2 :(得分:0)

这正是名称所说的:) 原生会话驱动程序正在使用本机php机制进行会话存储(cookies) - laravel正在使用laravel/vendor/symfony/http-foundation\Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php