2

这个问题一直让我发疯。在两个单独的项目中(两者都使用 PEAR 作为库,但编写在完全不同的自定义框架上),我使用 PEAR Auth 进行使用会话的身份验证。

登录后,用户在空闲一个小时左右就会退出。我没有确切的时间,但时间很短。

我尝试了以下但没有成功。所有尝试将会议延长到一天,只是为了把重点放在家里。

<?php
// Tried built-in methods to extend the idle time, called after Auth is initialised
$auth->setIdle( 86400 );

// Tried increasing the sesion timeout (before auth is called)
ini_set( 'session.gc_maxlifetime', 86400 );

// Tried increasing the cookie timeout (where the phpsession is held, before auth is called)
session_set_cookie_params( 86400 );

// Tried all of the above
?>

其他人遇到过这个问题吗?如果是这样,是否可以延长空闲时间?

我即将准备好草皮 PEAR 并编写我自己的基于 cookie 的身份验证类,但我真的没有时间。

4

1 回答 1

2

到目前为止,我还没有遇到这个问题,但我看到了两个您似乎尚未涵盖的可能原因:

  1. 除了 setIdle() 之外,您还可以检查 auth 类的setExpire()方法。
  2. 可能有其他基于 php 的应用程序/脚本在同一服务器上运行,使用相同的会话存储目录,超时时间较短。根据session.gc_maxlifetime 文档:

    如果不同的脚本具有不同的 session.gc_maxlifetime 值,但共享存储会话数据的相同位置,则具有最小值的脚本将清理数据。在这种情况下,将此指令与session.save_path.

于 2009-09-29T20:06:55.737 回答