首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

PHP SessionTimeOut的有关问题

2012-03-16 
PHP SessionTimeOut的问题画面在操作的情况下,一样计算时间。给Timeout掉了。为什么?是哪里设置错误?下面是P

PHP SessionTimeOut的问题
画面在操作的情况下,一样计算时间。给Timeout掉了。为什么?
是哪里设置错误?
下面是PHP.ini的Session配置部分。。。还请各位大虾帮着解决以下。。。


[Session]
;   Handler   used   to   store/retrieve   data.
session.save_handler   =   files

;   Argument   passed   to   save_handler.     In   the   case   of   files,   this   is   the   path
;   where   data   files   are   stored.   Note:   Windows   users   have   to   change   this
;   variable   in   order   to   use   PHP 's   session   functions.
;
;   As   of   PHP   4.0.1,   you   can   define   the   path   as:
;
;           session.save_path   =   "N;/path "
;
;   where   N   is   an   integer.     Instead   of   storing   all   the   session   files   in
;   /path,   what   this   will   do   is   use   subdirectories   N-levels   deep,   and
;   store   the   session   data   in   those   directories.     This   is   useful   if   you
;   or   your   OS   have   problems   with   lots   of   files   in   one   directory,   and   is
;   a   more   efficient   layout   for   servers   that   handle   lots   of   sessions.
;
;   NOTE   1:   PHP   will   not   create   this   directory   structure   automatically.
;                   You   can   use   the   script   in   the   ext/session   dir   for   that   purpose.
;   NOTE   2:   See   the   section   on   garbage   collection   below   if   you   choose   to
;                   use   subdirectories   for   session   storage
;
;   The   file   storage   module   creates   files   using   mode   600   by   default.
;   You   can   change   that   by   using
;
;           session.save_path   =   "N;MODE;/path "
;
;   where   MODE   is   the   octal   representation   of   the   mode.   Note   that   this
;   does   not   overwrite   the   process 's   umask.
;session.save_path   =   "/tmp "

;   Whether   to   use   cookies.
session.use_cookies   =   1

;session.cookie_secure   =  

;   This   option   enables   administrators   to   make   their   users   invulnerable   to
;   attacks   which   involve   passing   session   ids   in   URLs;   defaults   to   0.
;   session.use_only_cookies   =   1

;   Name   of   the   session   (used   as   cookie   name).
session.name   =   sessionName

;   Initialize   session   on   request   startup.
session.auto_start   =   1

;   Lifetime   in   seconds   of   cookie   or,   if   0,   until   browser   is   restarted.


session.cookie_lifetime   =   50

;   The   path   for   which   the   cookie   is   valid.
session.cookie_path   =   /

;   The   domain   for   which   the   cookie   is   valid.
session.cookie_domain   =

;   Whether   or   not   to   add   the   httpOnly   flag   to   the   cookie,   which   makes   it   inaccessible   to   browser   scripting   languages   such   as  

JavaScript.
session.cookie_httponly   =  

;   Handler   used   to   serialize   data.     php   is   the   standard   serializer   of   PHP.
session.serialize_handler   =   php

;   Define   the   probability   that   the   'garbage   collection '   process   is   started
;   on   every   session   initialization.
;   The   probability   is   calculated   by   using   gc_probability/gc_divisor,
;   e.g.   1/100   means   there   is   a   1%   chance   that   the   GC   process   starts
;   on   each   request.

session.gc_probability   =   1
session.gc_divisor           =   1

;   After   this   number   of   seconds,   stored   data   will   be   seen   as   'garbage '   and
;   cleaned   up   by   the   garbage   collection   process.
session.gc_maxlifetime   =   50

;   NOTE:   If   you   are   using   the   subdirectory   option   for   storing   session   files
;               (see   session.save_path   above),   then   garbage   collection   does   *not*
;               happen   automatically.     You   will   need   to   do   your   own   garbage
;               collection   through   a   shell   script,   cron   entry,   or   some   other   method.
;               For   example,   the   following   script   would   is   the   equivalent   of
;               setting   session.gc_maxlifetime   to   1440   (1440   seconds   =   24   minutes):
;                     cd   /path/to/sessions;   find   -cmin   +24   |   xargs   rm

;   PHP   4.2   and   less   have   an   undocumented   feature/bug   that   allows   you   to
;   to   initialize   a   session   variable   in   the   global   scope,   albeit   register_globals
;   is   disabled.     PHP   4.3   and   later   will   warn   you,   if   this   feature   is   used.
;   You   can   disable   the   feature   and   the   warning   separately.   At   this   time,
;   the   warning   is   only   displayed,   if   bug_compat_42   is   enabled.



session.bug_compat_42   =   1
session.bug_compat_warn   =   1

;   Check   HTTP   Referer   to   invalidate   externally   stored   URLs   containing   ids.
;   HTTP_REFERER   has   to   contain   this   substring   for   the   session   to   be
;   considered   as   valid.
session.referer_check   =

;   How   many   bytes   to   read   from   the   file.
session.entropy_length   =   0

;   Specified   here   to   create   the   session   id.
session.entropy_file   =

;session.entropy_length   =   16

;session.entropy_file   =   /dev/urandom

;   Set   to   {nocache,private,public,}   to   determine   HTTP   caching   aspects
;   or   leave   this   empty   to   avoid   sending   anti-caching   headers.
session.cache_limiter   =   nocache

;   Document   expires   after   n   minutes.
session.cache_expire   =   180

;   trans   sid   support   is   disabled   by   default.
;   Use   of   trans   sid   may   risk   your   users   security.
;   Use   this   option   with   caution.
;   -   User   may   send   URL   contains   active   session   ID
;       to   other   person   via.   email/irc/etc.
;   -   URL   that   contains   active   session   ID   may   be   stored
;       in   publically   accessible   computer.
;   -   User   may   access   your   site   with   the   same   session   ID
;       always   using   URL   stored   in   browser 's   history   or   bookmarks.
session.use_trans_sid   =   0

;   Select   a   hash   function
;   0:   MD5       (128   bits)
;   1:   SHA-1   (160   bits)
session.hash_function   =   0

;   Define   how   many   bits   are   stored   in   each   character   when   converting
;   the   binary   hash   data   to   something   readable.
;
;   4   bits:   0-9,   a-f
;   5   bits:   0-9,   a-v
;   6   bits:   0-9,   a-z,   A-Z,   "- ",   ", "
session.hash_bits_per_character   =   4

;   The   URL   rewriter   will   look   for   URLs   in   a   defined   set   of   HTML   tags.
;   form/fieldset   are   special;   if   you   include   them   here,   the   rewriter   will
;   add   a   hidden   <input>   field   with   the   info   which   is   otherwise   appended
;   to   URLs.     If   you   want   XHTML   conformity,   remove   the   form   entry.
;   Note   that   all   valid   entries   require   a   "= ",   even   if   no   value   follows.


url_rewriter.tags   =   "a=href,area=href,frame=src,input=src,form=,fieldset= "


[解决办法]
session_cache_expire(t); //设置t分钟后session过期
如果像写文章那样的操作,可以在页面通过js计时,如果一定时间内用户仍然在操作,则通过刷新框架页或者ajax刷新页面跟新服务器端的session计时
[解决办法]
<?php

/* set the cache limiter to 'private ' */

session_cache_limiter( 'private ');
$cache_limiter = session_cache_limiter();

/* set the cache expire to 30 minutes */
session_cache_expire(30);
$cache_expire = session_cache_expire();

/* start the session */

session_start();

echo "The cache limiter is now set to $cache_limiter <br /> ";
echo "The cached session pages expire after $cache_expire minutes ";
?>

热点排行