Laravel会话在本机PHP中不可用?

Nig*_*ICU 4 php laravel

Laravel的新手,并且在Sessions方面遇到了一些问题.具体来说,从Laravel之外的PHP文件中读取会话数据.

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

<?php
session_start();
echo $_SESSION['isAuthorized'];
?>
Run Code Online (Sandbox Code Playgroud)

回报

Notice: Undefined index: isAuthorized in C:\xampp\htdocs\session.php on line 3
Run Code Online (Sandbox Code Playgroud)

我尝试将Laravel会话驱动程序设置为默认cookiefile模式,结果相同.

its*_*avi 8

您还可以编写会话适配器,因此该$_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);
  }

}
Run Code Online (Sandbox Code Playgroud)

然后在代码中的某个地方:

<?php 
$_SESSION = new SessionAdapter();
// or
$GLOBALS['_SESSION'] = new SessionAdapter();
Run Code Online (Sandbox Code Playgroud)

这样本地PHP会话和Laravel会话将"相同".