【问题标题】:Laravel 4: Session is not working in serverLaravel 4:会话在服务器中不起作用
【发布时间】:2014-09-28 00:19:47
【问题描述】:

session::set 和 session::get 在 laravel 中不起作用

会话正在本地机器上工作。但是当我在实时服务器中测试时,它无法正常工作。

场景:登录应用程序Auth::attempt 时返回true。但它再次重定向到登录页面。这是一个确切的问题。

Auth::check 方法在auth::attempt 条件下返回true。 但是在登录页面和filter.php中,Auth::check方法返回false

我不知道为什么:(

我使用 laravel 会话变量对其进行了测试。我在会话变量中分配了一个值,并将页面重定向到我已经回显会话的另一个页面。它返回空。

附加细节:它不会在服务器中保留会话闪存消息。它在本地工作。

请指教。

【问题讨论】:

  • 能否包含您设置和获取会话数据的代码,也许还有重定向?
  • @nozzleman:谢谢!我使用 Session::put('test', 'test string');用于测试目的。我的问题是 auth:check return false。但是 auth::attempt 返回 true。我不知道为什么。这就是为什么我想,它可能属于会话问题。我不知道。请指教。
  • @nozzleman:附加信息,它不会在服务器中保留会话闪存消息。它在本地工作

标签: laravel laravel-4


【解决方案1】:

如果您的会话驱动程序是file,请确保您的(存储)路径可由 PHP 写入。在你的 session.php 文件中寻找这个:

'driver' => 'file',
....
'files' => storage_path().'/sessions',

【讨论】:

  • 默认情况下,我有 cookie 作为驱动程序。如果我将其更改为文件,则会话有效。但是 auth:login 不起作用。
  • 始终 Auth::check 返回 false :(
  • 如果您使用 cookie,请检查 session.php 中的 domain 配置。将其设置为:'domain' => null.
猜你喜欢
  • 2016-08-20
  • 2014-09-14
  • 1970-01-01
  • 2017-12-22
  • 2013-09-08
  • 1970-01-01
  • 1970-01-01
  • 2015-08-23
  • 1970-01-01
相关资源
最近更新 更多