如何通过linux命令提示符设置PHP会话变量?

Sev*_*Sev 5 php linux

如何通过linux命令提示符设置PHP会话变量?

澄清

因此,如您所知,我们可以在编码时使用$ _SESSION全局变量在PHP中设置会话变量.我想知道是否有办法通过php命令提示符设置此变量?

例如,在代码中,如果我可以设置$ _SESSION ['temp'] ="what"

有没有办法通过命令提示符PHP设置相同的变量?

Mar*_*c B 6

PHP的默认会话处理程序serialize()将会话数据以格式存储在文件中,这意味着它基本上是纯文本.您当然可以使用任何标准的unix文本操作工具(perl,sed,awk,甚至是shell脚本中的echo/cat等)从命令行操作该文件,只要您不介绍即可序列化数据中的语法错误.

但是在这一点上,除非你找到一个功能/库/模块,unserialize()并且很可能serialize()也是如此,你可能只需要PHP本身来进行操作.它是一个非常罕见的系统,没有与Web服务器版本一起安装的CLI版本的PHP.

$dat = file_get_contents('/path/to/session/file');
$session = unserialize($dat);
$session['temp'] = 'whatever';
$dat = serialize($session);
file_put_contents('/path/to/session/file', $dat);
Run Code Online (Sandbox Code Playgroud)