当我使用命令提示符执行 php 脚本时,我需要从 cookie 或会话中读取一些值。我怎样才能做到这一点?
如何从 Windows 命令提示符访问 cookie 或会话值?
Cookie 是从用户的网络浏览器发送的。当您从命令行执行 php 脚本时,没有浏览器可以发送或接收 cookie。无法访问或保存 cookie,并且除了您在命令行上传递的参数之外,不会向脚本发送任何内容。
话虽如此,如果您知道某人的 PHPSESSID cookie,则有一种方法可以读取使用浏览器的人已经访问过的会话。
假设有人使用 Web 浏览器访问了您的脚本,并且他们的 PHPSESSID 是 a1b2c3d4,并且您希望使用他们的会话执行该脚本。在命令行执行以下命令。
php -r '$_COOKIE["PHPSESSID"] = "a1b2c3d4"; session_start(); require("path_to_php_script.php");'
其中path_to_php_script.php是您要执行的php脚本的路径。实际上,如果您要执行的 php 文件本身启动会话,则不必启动会话。因此,您可能想实际尝试一下这个命令:
php -r '$_COOKIE["PHPSESSID"] = "a1b2c3d4"; require("path_to_php_script.php");'
好的,现在假设您不想访问某人的会话,但您只想执行脚本,就像您已经有一个会话一样。只需执行前面的命令,但输入您想要的任何 sessionid。只要您每次调用脚本时都使用相同的 PHPSESSID,您的会话将在脚本调用之间保持完整。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)