CLI模式下的会话替代方案

时间:2018-01-11 12:24:30

标签: php command-line-interface

我知道通常的PHP会话在CLI模式下无法正常工作,因为它们基于cookie。

但是如果我需要保留一些用户设置直到终端关闭呢?例如,用户可以指定UI语言,一些额外的凭据,颜色方案等。我可以保存数据库中的设置,但如何将它们与用户关联?

是否有唯一的“会话”或“连接”ID?

2 个答案:

答案 0 :(得分:1)

尝试转储 $ _ ENV 数组,找出系统中可用的变量:

php -r 'print_r($_ENV);'

通常,您可以使用 $ _ ENV [' USER'] 来获取当前用户的名称。

答案 1 :(得分:1)

您可以在用户主目录中存储一些信息

$path = getenv("HOME") . DIRECTORY_SEPARATOR . ".myscriptprops";

尝试一下:

php -r 'echo getenv("HOME") . DIRECTORY_SEPARATOR . ".myscriptprops";'

或者使用STDIN请求用户在脚本执行时插入数据:

echo "Please enter some value: ";
$value = fgets(STDIN);