我尝试从命令行输出我的.php文件,我希望能够为此输出模拟$_SESSION
值。
我尝试了php test.php --define $_SESSION["id"]=1
,但没有设置全局变量$_SESSION
。
我显然没有正确使用命令行,但我找不到应该怎么做。
是否有任何想法让它发挥作用?
非常感谢
编辑:对于我的例子,test.php如下:
<? echo $_SESSION['id'];?>
答案 0 :(得分:1)
$ cat setsession.php
<?php
//fixed session:
session_id("fixed");
session_start();
?>
$ cat checksession.php
<?php
if(!isset($_SESSION['counter'])) $_SESSION['counter'] = 0;
$_SESSION['counter']++;
var_dump($_SESSION);
$ php -d auto_prepend_file=setsession.php checksession.php
array(1) {
["counter"]=>
int(1)
}
$ php -d auto_prepend_file=setsession.php checksession.php
array(1) {
["counter"]=>
int(2)
}
$ php -d auto_prepend_file=setsession.php checksession.php
array(1) {
["counter"]=>
int(3)
}
答案 1 :(得分:0)
您不能以任何有意义的方式在命令行上使用会话 - 会话标识符存储在cookie中。命令行不执行cookie,因此正常的会话方式不起作用。当然,您可以在脚本运行期间使用$_SESSION
超全局。只是不要指望它在同一个脚本的不同调用之间持续存在。