【问题标题】:Session not persisting on shared hosting - Laravel 4.2.17会话不在共享主机上持续存在 - Laravel 4.2.17
【发布时间】:2015-12-23 06:16:49
【问题描述】:

我在共享主机上的会话有问题。

我在本地服务器 (XAMPP) 上开发了一个应用程序,它运行良好(会话、身份验证等)。当我将应用程序移到共享主机上时,问题就出现了。

我意识到会话没有从一个页面持续到另一个页面或从 AJAX 文件到另一个页面,并且身份验证也不起作用。

唯一持续的会话是 _token,它在每次刷新页面后都有不同的值。 我在 session.php 文件中有如下配置:

 'driver' => 'database', 
 'lifetime' => 120, 
 'expire_on_close' => false, 
 'lottery' => array(2, 100), 
 'path' => '/', 
 'domain' => null

一开始我用的是文件驱动,遇到了同样的问题,现在我用的是数据库。

文件和数据库都在本地服务器上工作,但在共享主机上却不行。

我尝试了论坛上的所有解决方案,但仍然遇到同样的问题。

我认为问题出在会话域设置上,因为当我将值从 null 更改为本地服务器上的其他字符串时,我遇到了与在线遇到的相同的问题。

请帮帮我吧!

谢谢,米雷尔

【问题讨论】:

  • 您的会话表是什么样的?您是否为它创建了迁移?
  • 我的迁移是Schema::create('sessions', function($table) { $table->string('id')->unique(); $table->text('payload'); $table->integer('last_activity'); });
  • 我注意到每次刷新页面时我的 _token 会话都会发生变化。我认为这是我的问题。每次我重新加载页面时,都会在我的会话表中插入一个新行。

标签: laravel laravel-4 session-cookies


【解决方案1】:

我解决了这个问题。在我的情况下,错误是因为我在包含文件的末尾添加了一个 php 封闭标签 ?>。因此,删除此标记将使应用程序恢复正常行为。

【讨论】:

    猜你喜欢
    • 2018-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-16
    • 1970-01-01
    • 2019-01-05
    • 1970-01-01
    相关资源
    最近更新 更多