在 Laravel 中禁用会话
Posted
技术标签:
【中文标题】在 Laravel 中禁用会话【英文标题】:Disable session in Laravel 【发布时间】:2015-10-13 21:23:24 【问题描述】:我正在开发无状态的 resful API 应用程序,所以我根本不需要会话。
我从protected $middleware = [];
中的\app\Http\Kernel.php
中删除了带有\Illuminate\Session\Middleware\StartSession::class,
的一行我还从.env
文件中删除了SESSION_DRIVE
。但我收到以下错误:
RuntimeException in Request.php line 756: Session store not set on request.
如何在 Laravel 5 中关闭会话?
【问题讨论】:
【参考方案1】:也从您的中间件中删除 Illuminate\Foundation\Http\Middleware\VerifyCsrfToken
和 Illuminate\View\Middleware\ShareErrorsFromSession
类。这些功能需要会话。
不是必需的,但我也可能建议将您的会话驱动程序设置为array
,这样如果您使用的任何功能需要会话功能,它们至少可以正常工作而不会引发错误。正如它所建议的,数组驱动程序将所有会话数据存储在标准 PHP 数组中,因此一旦请求完成,所有内容都会被删除。
【讨论】:
\Illuminate\View\Middleware\ShareErrorsFromSession::class
也需要会话。以上是关于在 Laravel 中禁用会话的主要内容,如果未能解决你的问题,请参考以下文章
Laravel 如何在会话 Laravel 中存储额外的数据/值