以下这段代码保存为test.php
'; $_SESSION['test'] = $_SERVER['PATH_INFO']; var_dump($_SESSION['test']); ?>
在本地测试这段代码,访问url http://localhost/test.php/a
$_SERVER['PATH_INFO']的值是'/a',赋值后$_SESSION['test']的值是'/a',页面刷新后,在页面开头输出$_SESSION['test']理论上应该也是'/a',可是$_SESSION['test']变成了'notice'。
其中notice的值同中src的值,src的值改为其他值相应也会输出同样的值
如图:
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
关键在
浏览器访问的时候加载了/test.php/notice
这时候就触发了test.php,
所以即使你再刷新, 第一次打印的也是notice
检查下session是否生效,本地COOKIE里是否有
PHPSESSIONID。