我有一个简单的php页面,我试图运行这个php脚本来自终端控制台(ssh):
php /home/account/domains/domain.com/public_html/script.php
现在,我可以运行脚本,事实是,如果我从控制台运行php脚本,设置\读取cookie不起作用,如果我正在运行它从浏览器页面,一切正常(读写cookie ...)
所以我的问题是,我可以从终端运行这个脚本(就像上面那样),并以某种方式保存cookie吗?
我的php scrpit很简单:
setcookie("cookie", "cookie", time()+30);
if (!isset($_COOKIE["cookie"])){
echo "New Cookie is set!";
}else{
echo "The Cookie already set!";
}
非常感谢您的帮助!
答案 0 :(得分:0)
Cookie仅存在于浏览器中。从命令行运行脚本时不涉及浏览器,因此无法存储这些cookie。
如果需要跨命令行脚本调用存储数据,则需要读取并将其写入文件。一种简单的方法可能是:
// At the start of the script...
$PERSIST = unserialize(file_get_contents("myscript.cache")) ?: array();
// Read data from there...
print $PERSIST["blah"];
// Write some
$PERSIST["foo"] = "stuff";
// At the end of the script, save it back
file_put_contents("myscript.cache", serialize($PERSIST));
答案 1 :(得分:-1)
如果你愿意运行一些exec()函数,你可以保存cookie和东西 - 见