stechstudio / laravel-raw-sessions
为 Laravel 提供原生 PHP 会话处理器
0.2
2022-11-15 16:25 UTC
Requires
- php: >=5.4.0
This package is auto-updated.
Last update: 2024-09-15 20:25:41 UTC
README
截至版本 4.1.0,Laravel 已经移除了原生的会话处理器,将其简化为文件处理器的别名。
http://wiki.laravel.io/Changelog_(Laravel_4)#Version_4.1.0
此处理器可以恢复这些功能。
你为什么想要这个?
实际上,你不应该想要这个。Laravel 自带的会话管理有一些非常酷的优点,你应该真的使用它。
除非你不能。
有时,你可能有一个在同一域名上运行的独立非 Laravel PHP 应用程序,它需要完整的会话共享。在我们的案例中,这是一个正在用 Laravel 进行重构的遗留应用程序,但在此期间需要完全的会话共享。
设置
首先添加 composer 依赖项
"require": {
"stechstudio/laravel-raw-sessions" : "0.1.*"
当然,然后更新 composer
composer update
现在将服务提供者添加到 config/app.php
中的数组
'providers' => array(
...
'STS\Session\LaravelRawSessionServiceProvider',
在 config/session.php
中将 driver
设置为 raw
'driver' => 'raw',
最后,确保在同一文件中关闭加密。我们让 PHP 管理会话的唯一方法是告诉 Laravel 不要加密它。
'encrypt' => false,
就这样!你所有的 Laravel Session
调用都将读取和写入到原始的 $_SESSION
数组。
命名空间会话
如果你与其他应用程序共享会话,可能希望避免污染根 $_SESSION
数组。
要更改此设置,请指定 config/session.php
中的 namespace
参数
'driver' => 'raw',
'namespace' => 'mynamespace',
这将导致 Laravel 将所有会话数据存储在 $_SESSION['mynamespace']
下。