开发者

How to keep session alive for 1week without logout PHP, overwriting default server values?

How to keep session alive for 开发者_StackOverflow1week without logout PHP, overwriting default server values?

I need to do this in the PHP code.


You can set the session lifetime in your script by using the session_set_cookie_params -function call before the session is started. The first argument of the function call defines the session lifetime in seconds relative to the server time (so make sure the server clock is correct):

For example, to make a session last a week:

session_set_cookie_params(3600 * 24 * 7);
session_start();

This will override the setting in the php.ini -file.

Make sure to check up on the function documentation on the PHP -site: http://www.php.net/manual/en/function.session-set-cookie-params.php


Just wanted to add this even though it's an old thread for the sake of completeness for future googlers:

Beware if you are on a Debian system.

The /etc/cron.d/php5 script will still clean your /var/lib/php5/ directory containing your sessions based on the php.ini value session.gc_maxlifetime.


Alternative solution:

You say people are leaving open their browsers for days and complain that session expire. Simple solution: don't let session expire by sending an keep-alive request using eg. XMLHttpRequest every 10 minutes.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜