Skip to content

Commit f60b1aa

Browse files
committed
cookie和session
1 parent e12b3ff commit f60b1aa

File tree

1 file changed

+44
-0
lines changed

1 file changed

+44
-0
lines changed

docs/php/session&cookie.md

+44
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,47 @@
22

33
### 一、cookie
44
setcookie($name, $value, $expire, $path, $domain, $secure);
5+
设置cookie
6+
7+
$_COOKIE读取cookie
8+
9+
setcookie($name, time()-1); 删除cookie
10+
11+
12+
### 二、session
13+
session的操作比较简单,需要注意的是使用前需要session_start();
14+
15+
session的一些配置:
16+
```
17+
session.auto_start //是否自动开启session
18+
sesson.cookie_domain // 存储session_id的cookie有效域
19+
session.cookie_lifetime // session_id的cookie有效的时间
20+
session.cookie_path // 保存的路径
21+
session.name // session_id 的名字
22+
session.save_path // session存储到服务器哪个文件
23+
session.use_cookies // 是否使用cookie在客户端保存session_id,默认为1
24+
session.save_handler // session存储的方式,默认是file
25+
26+
session.gc_probability = 1
27+
session.gc_divisor = 100
28+
定义在每次初始化会话时,启动垃圾回收程序的概率。计算公式如下:
29+
session.gc_probability/session.gc_divisor,
30+
比如1/100,表示有1%的概率启动启动垃圾回收程序,对会话页面访问越频繁,概率就应当越小。
31+
建议值为1/1000~5000。
32+
33+
session.gc_maxlifetime = 1440
34+
设定保存的session文件生存期,超过此参数设定秒数后,保存的数据将被视为’垃圾’并由垃圾回收程序清理。
35+
```
36+
37+
当cookie被禁用时,传递session_id。
38+
```
39+
<a href="1.php?<?php echo session_name().'='.session_id()?>">下一页</a>
40+
41+
或者:
42+
43+
<a href="1.php?<?= SID?>">下一页</a>
44+
SID这个常量是session_name()和session_id()的拼接,并且如果开启cookie这个SID就是空。相较于上一种方法会智能一些
45+
```
46+
47+
多台服务器session同步,一般是存在redis(mysql等也可以)。
48+
redis会自动用一种结构存储session,mysql需要建立对应的数据表

0 commit comments

Comments
 (0)