PHP$\u会话仅在一个页面上清空

PHP$\u会话仅在一个页面上清空,php,session,Php,Session,我有一个定制的PHP应用程序框架,它使用PHP会话。所有内容都通过index.php运行,顶部有一个session\u start()调用。每个页面实例化一个“action”类,该类通过Smarty引擎返回HTML,然后将其转储到index.php末尾的浏览器中 几乎所有事情都正常工作,但在一个特定的情况下,$\u会话变量被清空。我通过在SESSION\u start()之后执行print\r($\u SESSION)进行调试,然后在index.php的末尾再次执行 在问题页面上(仅此页面上),

我有一个定制的PHP应用程序框架,它使用PHP会话。所有内容都通过index.php运行,顶部有一个
session\u start()
调用。每个页面实例化一个“action”类,该类通过Smarty引擎返回HTML,然后将其转储到index.php末尾的浏览器中

几乎所有事情都正常工作,但在一个特定的情况下,
$\u会话
变量被清空。我通过在
SESSION\u start()之后执行
print\r($\u SESSION)
进行调试,然后在index.php的末尾再次执行

在问题页面上(仅此页面上),
$\u SESSION
变量如脚本末尾所预期的那样存在,但是查看
/var/lib/php/sessions
中的会话存储文件,它是空的,当加载任何其他页面时,第一个
print\r
显示的是空数组。因此,据我所知,不应该有任何PHP代码清空会话,因为最后的打印是它做的最后一件事

所以我的问题是,我会错过什么?我已经清除了所有杂散的关闭?>标记以避免额外的空白,将包含的文件与一个正常工作且看不到任何明显错误的页面进行了比较。为了重新迭代,在我转储变量和它们被删除之间没有代码被执行。有人能想出任何其他可以清除会话变量的方法吗