我正在创建一个在后台运行的 php 脚本。脚本完成后,我希望它更改从 Web 界面启动的会话中的标志。我尝试将会话 id 传递给脚本并使用 id 启动相同的会话,但它一直在循环。我尝试将会话 id 传递给脚本并使用 id 启动同一个会话,但它不起作用。网页界面.php$_SESSION["flag"] = false;shell_exec("php BackgroundScript.php ".session_id()." &");后台脚本.php$id = $argv[1];session_id($id);session_start();//do things$_SESSION["flag"] = true;当我尝试初始化会话时,代码似乎没有完成。
1 回答
ITMISS
TA贡献1871条经验 获得超8个赞
您可以尝试假装存在会话 cookie,如下所示:
网页界面.php
$_SESSION["flag"] = false;
shell_exec("php BackgroundScript.php ".session_id()." &");
后台脚本.php
$id = $argv[1];
$_COOKIE["PHPSESSID"] = $id;
session_start();
//do things
$_SESSION["flag"] = true;
这在某些情况下可以起作用,但也可能不起作用。
我认为更好的解决方案是通过数据库或文件进行通信。
- 1 回答
- 0 关注
- 131 浏览
添加回答
举报
0/150
提交
取消