我在我的 Web 应用程序中使用 Perl CGI 和 Apache::Session。
使用 tie 设置 Apache::Session 时,如下所示:
tie %session, 'Apache::Session::MySQL', $id, {
DataSource => 'dbi:mysql:apache_session',
UserName => 'root',
Password => '',
LockDataSource => 'dbi:mysql:apache_session',
LockUserName => 'root',
LockPassword => ''
};
如何捕获 $id 不是数据库中的有效会话时发生的错误?我需要创建一个新的会话 ID,而不是让应用程序因 500 http 错误而死掉。
当用户有一个过期的 cookie 时,会出现这种情况,该 cookie 的会话 ID 已从数据库中删除。