如何通过
linux命令提示符设置
PHP会话变量?
澄清
因此,如您所知,我们可以在编码时使用$_SESSION全局变量在PHP中设置会话变量.我想知道是否有办法通过php命令提示符设置此变量?
例如,在代码中,如果我可以设置$_SESSION [‘temp’] =“what”
有没有办法通过命令提示符PHP设置相同的变量?
解决方法
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);