我有一个使用PHP会话的自定义PHP应用程序框架。一切都通过index.php运行,顶部有一个session_start()
调用。每个单独的页面实例化一个'action'类,它通过Smarty引擎返回HTML,然后在index.php的末尾将其转储到浏览器。
几乎所有时间都能正常运行,但在一个特定情况下,$_SESSION
变量会被清空。我在print_r($_SESSION)
之后立即进行调试,再次在index.php的末尾进行调试。
在问题页面上(并且仅在此页面上),session_start()
vars在脚本末尾按预期存在,但是查看$_SESSION
中的会话存储文件是空的,当然,当加载任何其他页面时,第一个/var/lib/php/sessions
显示一个空数组。所以据我所知,应该没有清空print_r
的PHP代码,因为最后的print_r是它做的最后一件事。
所以我的问题是,我能错过什么?我清除了所有流浪关闭?>标签以避免额外的空白,将包含的文件与有效的页面进行比较,并且看不到任何明显错误的内容。并且为了重新迭代,在转储变量和删除变量之间没有/应该执行代码。任何人都可以想到任何可以清除会话变量的东西吗?