1

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

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

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

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

知道为什么吗?

4

1 回答 1

0

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

您可以通过手动指定会话 IDsession_start($id);

确保session.save_path网络服务器和命令行 php 版本之间的设置相同。它们可以不同。在两个版本上通过 phpinfo() 检查。

于 2012-05-21T22:32:57.053 回答