gpt4 book ai didi

php - Laravel session 在 native PHP 中不可用?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:55:06 26 4
gpt4 key购买 nike

Laravel 的新手,在使用 Session 时遇到了一些问题。具体来说,从 Laravel 外部的 PHP 文件读取 session 数据。

例如,假设我像这样设置 session 变量:Session::put('isAuthorized', 'yes') - 我可以在 Laravel 上下文中使用 Session::get('isAuthorized') 但以下 PHP 不会检索此 session key -

<?php
session_start();
echo $_SESSION['isAuthorized'];
?>

返回

Notice: Undefined index: isAuthorized in C:\xampp\htdocs\session.php on line 3

我尝试将 Laravel session 驱动程序设置为默认的 cookiefile 模式,结果相同。

最佳答案

你也可以写一个 session 适配器,所以 $_SESSION 变量将是它的一个实例:

<?php 
class SessionAdapter implements \ArrayAccess {

public function offsetExists($offset) {
return Session::has($offset);
}

public function offsetGet($offset) {
return Session::get($offset);
}

public function offsetSet($offset, $value) {
return Session::put($offset, $value);
}

public function offsetUnset($offset) {
return Session::forget($offset);
}

}

然后在你的代码中的某处:

<?php 
$_SESSION = new SessionAdapter();
// or
$GLOBALS['_SESSION'] = new SessionAdapter();

这样本地 PHP session 和 Laravel session 将“相同”。

关于php - Laravel session 在 native PHP 中不可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14428785/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com