一、常见http状态码
200 (“OK”) 304 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容 403 禁止,服务器拒绝请求 404 未找到,服务器找不到请求的网页 500 服务器内部错误,服务器遇到错误,无法完成请求。 502 错误网关,服务器作为网关或代理,从上游服务器收到无效响应 二、会话控制–session Session的原理 当第一次访问网站时,Seesion_start()函数就会创建一个唯一的Session ID, 并自动通过HTTP的响应头,将这个Session ID保存到客户端Cookie中。 同时,也在服务器端创建一个以Session ID命名的文件,用于保存这个用户的会话信息。 当同一个用户再次访问这个网站时,也会自动通过HTTP的请求头将Cookie中保存的 Seesion ID再携带过来,这时Session_start()函数就不会再去分配一个新的Session ID, 而是在服务器的硬盘中去寻找和这个Session ID同名的Session文件,将这之前为这个用 户保存的会话信息读出,在当前脚本中应用,达到跟踪这个用户的目的 Session的使用 开启session 在PHP中使用session_start() session存储,以数组的形式使用 $_SESSION[‘session名’]=’值’; 取出session的数据
S
E
S
S
I
O
N
[
‘
s
e
s
s
i
o
n
名
’
]
;
销
毁
s
e
s
s
i
o
n
s
e
s
s
i
o
n
d
e
s
t
r
o
y
(
)
;
/
/
销
毁
和
当
前
S
e
s
s
i
o
n
有
关
的
所
有
资
料
该
函
数
并
不
会
释
放
和
当
前
S
e
s
s
i
o
n
相
关
的
变
量
,
也
不
会
删
除
保
存
在
客
户
端
C
o
o
k
i
e
中
的
S
e
s
s
i
o
n
I
D
。
因
为
_SESSION[‘session名’]; 销毁session session_destroy(); //销毁和当前Session有关的所有资料 该函数并不会释放和当前Session相关的变量,也不会删除保存在 客户端 Cookie中的SessionID。因为
SESSION[‘session名’];销毁sessionsessiondestroy();//销毁和当前Session有关的所有资料该函数并不会释放和当前Session相关的变量,也不会删除保存在客户端Cookie中的SessionID。因为_SESSION数组和自定义的数组在使用上是相同 的, 所以我们可以使用unset()函数来释放在Session中注册的单个变量。 unset($_SESSION[‘名字’]) //删除单个session $_SESSION=array(); //销毁所有session 注意:session_start()函数之前不能有任何输出 session的phpini配置选项 php.ini文件中和Session有关的几个常用配置选项: session.auto_start=1,这样就无需每次使用session之前都要调用session_start()不 建议使用. session.cookie_path = / ; cookie的有效路径 session.name = PHPSESSID; 用在cookie里的session的名字 session.save_path = /tmp ; session数据文件将保存的路径. session.use_cookies = 1 ; 是否使用cookies session的垃圾自动回收机制 可以通过session_destroy()函数在页面中提供一个“退出”按钮,通过单击销毁本次会话。但如果用户没有单击退出按钮,而是直接关闭浏览器,或断网等情况,在服务器端保存的Session文件是不会删除的。虽然关闭浏览器,下次需要重新分配一个新的Session ID重新登录,但这只是因为在php.ini中的设置seesion.cookie_lifetime=0,来设定Session ID在客户端Cookie中的有效限期,以秒为单位指定了发送到浏览器的Cookie的生命周期。当系统赋予Session有效期限后不管浏览器是否开启,Session ID都会自动消失。而客户端Session ID消失服务器端保存的Session文件并没有被删除。所以没有被Sessoin ID引用的服务器端Session文件,就成为了“垃圾”。 服务器保存的Session文件就是一个普通文本文件,所以都会有文件修改时间。“垃圾回收程序”启动后就是根据Session文件的修改时间,将所有过期的Session文件全部删除。通过在php.ini中设置session.gc_maxlifetime选项来指定一个时间(单位:秒),例如设置该选项值为1440(24分钟)。“垃圾回收程序”就会在所有Session文件中排查,如果有修改时间距离当前系统时间大于1440秒的就将其删除。 三、static静态 static放在函数内部修饰变量 static放在类里修饰属性或方法 在函数执行完后,变量值仍保存
修饰类的属性或方法,可以通过类名访问
"; $p1=new Person(); $p2=new Person(); p 3 = n e w P e r s o n ( ) ; e c h o P e r s o n : : p3=new Person(); echo Person:: p3=newPerson();echoPerson::id; //输出结果为 3 ?>