我有一个检查_SESSION变量的PHP脚本(在创建会话时,我设置了以下var $ _ SESSION ['LAST_ACTIVITY'] = time())。
该脚本可以访问相关的会话ID。 它设置会话ID,启动会话,并检查变量。
当我手动运行脚本时,它完美运行。它启动先前启动的会话并检索_SESSION变量。
但是,当相同的脚本通过CRON运行时,_SESSION变量未设置...
知道为什么吗?
答案 0 :(得分:0)
当你调用session_start()
时,php会在$ _COOKIE中查找会话ID,有时候会查找$ _REQUEST。这些不存在于命令行版本中,因为没有网络服务器。
您可以通过session_start($id);
确保webserver和命令行php版本之间的session.save_path
设置相同。他们可以是不同的。在两个版本上通过phpinfo()进行检查。