å¦ä½ä¸¥æ ¼éå¶sessionå¨30åéåè¿æï¼
1.设置客æ·ç«¯cookieçlifetime为30åéï¼
2.设置sessionçæ大åæ´»å¨æä¹ä¸º30åéï¼
3.为æ¯ä¸ªsessionå¼å å
¥æ¶é´æ³ï¼ç¶åå¨ç¨åºè°ç¨æ¶è¿è¡å¤æï¼
è³äºä¸ºä»ä¹ï¼æ们é¦å
æ¥äºè§£ä¸phpä¸sessionçåºæ¬åçï¼
PHPä¸çsessionæææé»è®¤æ¯1440ç§ï¼24åéï¼ï¼ä¹å°±æ¯è¯´ï¼å®¢æ·ç«¯è¶
è¿24åé没æå·æ°ï¼å½åsessionå°±ä¼å¤±æãå½ç¶å¦æç¨æ·å
³éäºæµè§å¨ï¼ä¼è¯ä¹å°±ç»æäºï¼Sessionèªç¶ä¹ä¸åå¨äºï¼
大家ç¥éï¼Sessionå¨åå¨æå¡å¨ç«¯ï¼æ ¹æ®å®¢æ·ç«¯æä¾çSessionIDæ¥å¾å°è¿ä¸ªç¨æ·çæ件ï¼ç¶å读åæ件ï¼åå¾åéçå¼ï¼SessionIDå¯ä»¥ä½¿ç¨å®¢æ·ç«¯çCookieæè
Http1.1åè®®ç
Query_Stringï¼å°±æ¯è®¿é®çURLçâ?âåé¢çé¨åï¼æ¥ä¼ éç»æå¡å¨ï¼ç¶åæå¡å¨è¯»åSessionçç®å½â¦â¦
è¦æ§å¶Sessionççå½å¨æï¼é¦å
æ们éè¦äºè§£ä¸ä¸php.iniå
³äºSessionçç¸å
³è®¾ç½®ï¼æå¼php.iniæ件ï¼å¨â[Session]âé¨åï¼ï¼
1ãsession.use_cookiesï¼é»è®¤çå¼æ¯â1âï¼ä»£è¡¨SessionID使ç¨Cookieæ¥ä¼ éï¼åä¹å°±æ¯ä½¿ç¨Query_Stringæ¥ä¼ éï¼
2ãsession.nameï¼è¿ä¸ªå°±æ¯SessionIDå¨åçåéå称ï¼å¯è½æ¯Cookieï¼ä¹å¯è½æ¯Query_Stringæ¥ä¼ éï¼é»è®¤å¼æ¯âPHPSESSIDâï¼
3ãsession.cookie_lifetimeï¼è¿ä¸ªä»£è¡¨SessionIDå¨å®¢æ·ç«¯Cookieå¨åçæ¶é´ï¼é»è®¤æ¯0ï¼ä»£è¡¨æµè§å¨ä¸å
³éSessionIDå°±ä½åºâ¦â¦å°±æ¯å 为è¿ä¸ªæ以Sessionä¸è½æ°¸ä¹
使ç¨ï¼
4ãsession.gc_maxlifetimeï¼è¿ä¸ªæ¯Sessionæ°æ®å¨æå¡å¨ç«¯å¨åçæ¶é´ï¼å¦æè¶
è¿è¿ä¸ªæ¶é´ï¼é£ä¹Sessionæ°æ®å°±èªå¨å é¤ï¼
è¿æå¾å¤ç设置ï¼ä¸è¿åæ¬æç¸å
³çå°±æ¯è¿äºäºï¼ä¸é¢å¼å§è®²å¦ä½è®¾ç½®Sessionçåæ´»å¨æã
åé¢è¯´è¿ï¼æå¡å¨éè¿SessionIDæ¥è¯»åSessionçæ°æ®ï¼ä½æ¯ä¸è¬æµè§å¨ä¼ éçSessionIDå¨æµè§å¨å
³éå就没æäºï¼é£ä¹æ们åªéè¦äººä¸ºç设置SessionID并ä¸ä¿åä¸æ¥ï¼ä¸å°±å¯ä»¥â¦â¦
å¦æä½ æ¥ææå¡å¨çæä½æéï¼é£ä¹è®¾ç½®è¿ä¸ªé常é常çç®åï¼åªæ¯éè¦è¿è¡å¦ä¸çæ¥éª¤ï¼
1ãæâsession.use_cookiesâ设置为1ï¼ä½¿ç¨Cookieæ¥å¨åSessionIDï¼ä¸è¿é»è®¤å°±æ¯1ï¼ä¸è¬ä¸ç¨ä¿®æ¹ï¼
2ãæâsession.cookie_lifetimeâæ¹ä¸ºä½ éè¦è®¾ç½®çæ¶é´ï¼æ¯å¦ä¸ä¸ªå°æ¶ï¼å°±å¯ä»¥è®¾ç½®ä¸º3600ï¼ä»¥ç§ä¸ºåä½ï¼;
3ãæâsession.gc_maxlifetimeâ设置为åâsession.cookie_lifetimeâä¸æ ·çæ¶é´ï¼
å¨PHPçææ¡£ä¸æç¡®æåºï¼è®¾å®sessionæææçåæ°æ¯session.gc_maxlifetimeãå¯ä»¥å¨php.iniæ件ä¸ï¼æè
éè¿ini_set()å½æ°æ¥ä¿®æ¹è¿ä¸åæ°ãé®é¢å¨äºï¼ç»è¿å¤æ¬¡æµè¯ï¼ä¿®æ¹è¿ä¸ª
åæ°åºæ¬ä¸èµ·ä½ç¨ï¼sessionæææä»ç¶ä¿æ24åéçé»è®¤å¼ã
ç±äºPHPçå·¥ä½æºå¶ï¼å®å¹¶æ²¡æä¸ä¸ªdaemon线ç¨ï¼æ¥å®æ¶å°æ«æsessionä¿¡æ¯å¹¶å¤æå
¶æ¯å¦å¤±æãå½ä¸ä¸ªææ请æ±åçæ¶ï¼PHPä¼æ ¹æ®å
¨å±åé
session.gc_probability/session.gc_divisorï¼åæ ·å¯ä»¥éè¿php.iniæè
ini_set()å½æ°æ¥ä¿®æ¹ï¼çå¼ï¼æ¥å³å®æ¯å¦å¯å¨ä¸ä¸ªGCï¼Garbage
Collectorï¼ã
é»è®¤æ
åµä¸ï¼session.gc_probability ï¼ 1ï¼session.gc_divisor
ï¼100ï¼ä¹å°±æ¯è¯´æ1%çå¯è½æ§ä¼å¯å¨GCãGCçå·¥ä½ï¼å°±æ¯æ«æææçsessionä¿¡æ¯ï¼ç¨å½åæ¶é´åå»sessionçæåä¿®
æ¹æ¶é´ï¼modified
dateï¼ï¼åsession.gc_maxlifetimeåæ°è¿è¡æ¯è¾ï¼å¦æçåæ¶é´å·²ç»è¶
è¿gc_maxlifetimeï¼å°±æ该sessionå é¤ã
å°æ¤ä¸ºæ¢ï¼å·¥ä½ä¸åæ£å¸¸ãé£ä¸ºä»ä¹ä¼åçgc_maxlifetimeæ æçæ
åµå¢ï¼
å¨é»è®¤æ
åµä¸ï¼sessionä¿¡æ¯ä¼ä»¥ææ¬æ件çå½¢å¼ï¼è¢«ä¿åå¨ç³»ç»ç临æ¶æ件ç®å½ä¸ãå¨Linuxä¸ï¼è¿ä¸è·¯å¾é常为\tmpï¼å¨
Windowsä¸é常为C:\Windows\Tempãå½æå¡å¨ä¸æå¤ä¸ªPHPåº
ç¨æ¶ï¼å®ä»¬ä¼æèªå·±çsessionæ件é½ä¿åå¨åä¸ä¸ªç®å½ä¸ãåæ ·å°ï¼è¿äºPHPåºç¨ä¹ä¼æä¸å®æºçå¯å¨GCï¼æ«æææçsessionæ件ã
é®é¢å¨äºï¼GCå¨å·¥ä½æ¶ï¼å¹¶ä¸ä¼åºåä¸åç«ç¹çsessionã举ä¾è¨ä¹ï¼ç«ç¹Açgc_maxlifetime设置为2å°æ¶ï¼ç«ç¹Bç
gc_maxlifetime设置为é»è®¤ç24åéãå½ç«ç¹BçGCå¯å¨æ¶ï¼å®ä¼æ«
æå
¬ç¨ç临æ¶æ件ç®å½ï¼æææè¶
è¿24åéçsessionæ件å
¨é¨å é¤æï¼èä¸ç®¡å®ä»¬æ¥èªäºç«ç¹AæBãè¿æ ·ï¼ç«ç¹Açgc_maxlifetime设置就形åè设äºã
æ¾å°é®é¢æå¨ï¼è§£å³èµ·æ¥å°±å¾ç®åäºãä¿®æ¹session.save_pathåæ°ï¼æè
使ç¨session_save_path()å½æ°ï¼æä¿åsessionçç®å½æåä¸ä¸ªä¸ç¨çç®å½ï¼gc_maxlifetimeåæ°å·¥ä½æ£å¸¸äºã
è¿æä¸ä¸ªé®é¢å°±æ¯ï¼gc_maxlifetimeåªè½ä¿è¯sessionçåçæçæ¶é´ï¼å¹¶ä¸è½å¤ä¿åå¨è¶
è¿è¿ä¸æ¶é´ä¹åsessionä¿¡æ¯ç«å³ä¼å¾å°å é¤ãå 为GCæ¯ææºçå¯å¨çï¼å¯è½å¨æä¸ä¸ªé¿æ¶é´å
é½æ²¡æ被å¯å¨ï¼é£ä¹å¤§éçsessionå¨è¶
è¿gc_maxlifetime以åä»ç¶ä¼ææã
解å³è¿ä¸ªé®é¢çä¸ä¸ªæ¹æ³æ¯ï¼æsession.gc_probability/session.gc_divisorçæºçæé«ï¼å¦ææå°100%ï¼å°±ä¼å½»åºè§£å³è¿ä¸ªé®é¢ï¼ä½æ¾ç¶ä¼å¯¹æ§è½é æ严éçå½±åãå¦ä¸ä¸ªæ¹æ³æ¯èªå·±
å¨ä»£ç ä¸å¤æå½åsessionççåæ¶é´ï¼å¦æè¶
åºäº gc_maxlifetimeï¼å°±æ¸
空å½åsessionã
温馨提示:答案为网友推荐,仅供参考