Q了个大冰 2017-10-06 04:53 采纳率: 0%
浏览 2009

Laravel5.4 中间件获取不到session

Laravel5.4 中间件获取不到session,使用的web的中间件,将SessionStart也写进去了(已解决)

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-07 00:06
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在 Laravel 5.4 中,如果你使用 web 中间件来管理 session,你可能需要检查以下几点:

    1. 确保你在应用中正确地配置了 Session。你可以通过访问 app/Http/Kernel.php 文件中的 setRequestInstance() 方法来控制 Session 的初始化。

    2. 检查是否有错误的日志信息。如果出现错误,可能会提示你一些问题,比如 Error: Cannot set session cookie in middleware 或者 Fatal error: Uncaught Error: Call to a member function __construct() on null in /var/www/html/app/Http/Middleware/Session.php:37

    3. 检查你的应用程序是否已经安装了 Laravel 5.4,并且正在运行。如果没有,请先安装并启动 Laravel 应用程序。

    4. 如果以上方法都不能解决问题,尝试删除 config/session.php 文件中的所有设置,然后重新配置。

    5. 确保你没有对 Session 进行任何修改或重置操作。

    6. config/app.php 文件中确保启用 Session 配置。

    'providers' => [
        \App\Providers\AppServiceProvider::class,
    ],
    ...
    'session' => [
        'handler' => \Illuminate\Session\Middleware\StartSession::class,
    ],
    
    1. 在应用中,检查 app/Console/Commands/MakeSessionCommand.phpapp/Console/Commands/CreateSessionCommand.php 是否有创建和初始化会话的方法。

    2. 确保你的应用目录结构正确,包括正确的 Laravel 目录结构。

    3. 确认你的 PHP 版本是最新版本,或者更新到支持 Laravel 5.4 的 PHP 版本。

    如果上述步骤仍然无法解决问题,可能是因为其他原因导致的问题,例如数据库连接问题、服务器配置问题等。在这种情况下,建议联系 Laravel 官方技术支持或者专业的 Laravel 开发团队寻求帮助。

    评论

报告相同问题?