$_SESSION is always null



我同时有两个运行时环境:

  • 前端:Angular JS(localhost:4401(使用VS代码(ng-server(运行
  • API:PHP运行时将WAMP(localhost(附加到数据库

对于从我的前端到我的API的每次调用,我调用会话开始如下:

(来自每个*.php页面中包含的"session.php"(

session_start();
// Make sure we have a canary set
if (!isset($_SESSION['canary'])) {
session_regenerate_id(true);
$_SESSION['canary'] = [
'birth' => time(),
'IP' => $_SERVER['REMOTE_ADDR']
];
}

我注意到我的$_SESSION变量总是一个";空";值,并且它无法检索最初创建的会话(目录:wamp64\tmp(。

我从Angular打来的电话示例:

checkLoginStatus(){
// Used to check if stay logged in cookie is set - autologin...
return this._http.get<loginResponse>(environment.api+"api/check_autologin.php").pipe(catchError(this.handleError))
}

你知道吗?提前谢谢。

我仍在寻找解决方案。。。但我测试了一些曲目:我试着安装uwamp而不是wamp。。。同样的问题。每次调用我的API都会生成一个新的会话,我不能只得到一个会话,我的会话数量与我调用应用程序的会话数量一样多。我的会话目录中充满了使用不同调用创建的会话文件。我认为最好的方法是分享我的phpinfo((。我已经尝试更改一些参数(特别是cookie/会话的过期时间(非常感谢

一场
  • 已注册的存储处理程序:文件用户
  • session.auto_start:关闭
  • session.cache_expire:180
  • session.cache_limite:nocache
  • session.cookie_domain:无值
  • session.cookie_httponly:无值
  • session.cookie_lifetime:0
  • session.cookie_path:/
  • session.cookie_samesite:无值
  • session.cookie_secure:1
  • session.gc_visor:1000
  • session.gc_maxlifetime:1440
  • session.gc_probability:1
  • session.lazy_write:打开
  • session.referer_check:无值
  • session.save_handler:文件
  • session.save_path:c:/wamp64/tmp
  • session.serialize_handler:php
  • session.sid_bits_per_charactersession.sid_length:26
  • session.upload_progress.cleanup:打开
  • session.upload_progress.enabled:打开
  • session.upload_progress.freq:1%
  • session.upload_progress.min_freq:1
  • session.upload_progress.name:PHP_session_upload_progress
  • session.upload_progress.prefix:upload_progress_
  • session.use_cookies:1
  • session.use_only_cookie:1
  • session.use_strict_mode:0
  • session.use_trans_sid:0
  • 最新更新