【发布时间】:2015-04-26 01:42:55
【问题描述】:
我在一个项目中使用 laravel 会话 (4.2) 真的很糟糕。 每次重新加载它都会生成一堆会话文件(如果它被配置为文件)或数据库行(每个请求大约 20 行/文件),我不知道为什么。以下是我为解决此问题而采取的措施:
1)我检查了我的 php.ini 并且 session.gc_maxlifetime 是 1440。
2)我检查过脚本中没有提前打印。
3)我检查了 composer dump-autoload 没有解决问题。
4)我检查了原生 PHP 会话是否正常且持续存在。
5)我已经使用 laravel 迁移来生成会话表(所以它不是列类型的问题)。
6)我已经删除了我的供应商文件夹和锁定文件并执行了作曲家安装。
问题是,我昨天回家拉了一个新的 laravel 项目,会话运行良好。到底会发生什么?
为了澄清,我有一个带有动作的控制器:
public function getIndex()
{
var_dump(Session::getId());
Session::save();
session_start();
var_dump(session_id());
die('die');
}
打印出来:
string '4505ed48069f6c468c5d3a3c1c6e6094db8d989d' (length=40)
string 'b24gbst01gdulo77o4utfq6id2' (length=26)
die
刷新时php原生会话id保持不变,但laravel id每次都不一样。
这是我的 laravel session.php:
'driver' => 'file',
'lifetime' => 120,
'expire_on_close' => false,
'files' => storage_path().'/sessions',
'connection' => 'mysql',
'table' => 'sessions',
'lottery' => array(1, 1000),
'cookie' => 'laravel_session',
'path' => '/',
'domain' => 'mydomain',
'secure' => false,
有什么提示吗?
【问题讨论】: