运行CRON脚本时缺少_SESSION变量

时间:2012-05-21 22:23:52

标签: php cron session-variables

我有一个检查_SESSION变量的PHP脚本(在创建会话时,我设置了以下var $ _ SESSION ['LAST_ACTIVITY'] = time())。

该脚本可以访问相关的会话ID。 它设置会话ID,启动会话,并检查变量。

当我手动运行脚本时,它完美运行。它启动先前启动的会话并检索_SESSION变量。

但是,当相同的脚本通过CRON运行时,_SESSION变量未设置...

知道为什么吗?

1 个答案:

答案 0 :(得分:0)

当你调用session_start()时,php会在$ _COOKIE中查找会话ID,有时候会查找$ _REQUEST。这些不存在于命令行版本中,因为没有网络服务器。

您可以通过session_start($id);

手动指定会话ID

确保webserver和命令行php版本之间的session.save_path设置相同。他们可以是不同的。在两个版本上通过phpinfo()进行检查。