如何打印当前设置的所有会话?

不必按名称调用每个会话,有没有办法显示当前设置的所有会话的内容?

echo '<pre>'; var_dump($_SESSION); echo '</pre>'; 

或者,如果您不关心types,则可以使用print_r 。 如果您使用print_r ,则可以将第二个参数设置为TRUE以便返回而不是回显,对于…有用…

 echo '<pre>' . print_r($_SESSION, TRUE) . '</pre>'; 
 <?php session_start(); echo "<h3> PHP List All Session Variables</h3>"; foreach ($_SESSION as $key=>$val) echo $key." ".$val."<br/>"; ?> 

不是一个简单的方法,不。

让我们说,通过“主动”你的意思是“没有通过最大生命周期”,并没有被明确销毁,并且你正在使用默认的会话处理程序。

  • 首先,最大生命周期被定义为一个php.iniconfiguration,并根据会话的最后一个活动来定义。 所以“到期”机制将不得不读取会话的内容来确定应用程序定义的到期date。
  • 其次,您必须手动读取会话目录并阅读文件,这些文件的格式我甚至不知道它们在哪里。

如果你真的需要这个,你必须实现某种自定义会话处理程序。 请参阅session_set_save_handler

另外考虑到如果用户只是closures浏览器或离开您的网站,而不会爆炸注销,您将没有任何反馈。 根据您的不活动情况,您考虑将会话视为“非活动”的阈值,那么您获得的误报数量可能会非常高。

你可以使用下面的代码。

 print_r($_SESSION); 

这对我工作: –

<?php echo '<pre>' . print_r($_SESSION, TRUE) . '</pre>'; ?>

感谢分享代码…

数组([__ci_last_regenerate] => 1490879962

 [user_id] => 3 [designation_name] => Admin [region_name] => admin [territory_name] => admin [designation_id] => 2 [region_id] => 1 [territory_id] => 1 [employee_user_id] => mosin11