1. php 的垃圾回收机制
PHP 可以自动进行内存管理,清除不需要的对象。
PHP 使用了引用计数(reference counting) GC 机制。
每个对象都内含一个引用计数器 refcount,每个 reference 连接到对象,计数器加 1。当 reference
离开生存空间或被设为 NULL,计数器减 1。当某个对象的引用计数器为零时,PHP 知道你将不
再需要使用这个对象,释放其所占的内存空间。
参考 http://www.php.net/manual/zh/features.gc.refcounting-basics.php
2. session 与 cookie 的区别和联系
区别:
1.存放位置:Session 保存在服务器,Cookie 保存在客户端。
2.存放的形式:Session 是以对象的形式保存在服务器,Cookie 以字符串的形式保存在客户端。
3.用途:Cookies 适合做保存用户的个人设置,爱好等,Session 适合做客户的身份验证
4.路径:Session 不能区分路径,同一个用户在访问一个网站期间,所有的 Session 在任何一个地
方都可以访问到。而 Cookie 中如果设置了路径参数,那么同一个网站中不同路径下的 Cookie 互
相是访问不到的。
5.安全性:Cookie 不是很安全,别人可以分析存放在本地的 COOKIE 并进行 COOKIE 欺骗,考虑
到安全应当使用 session
6.大小以及数量限制:每个域名所包含的 cookie 数:IE7/8,FireFox:50 个, Opera30 个; Cookie 总大
小:Firefox 和 Safari 允许 cookie 多达 4097 个字节,Opera 允许 cookie 多达 4096 个字节,
InternetExplorer 允许 cookie 多达 4095 个字节;一般认为 Session 没有大小和数量限制。
联系:
1. Session 需要借助 Cookie 才能正常工作。如果客户端完全禁止 Cookie,Session 将失效!因为
Session 是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生
成一个唯一的 SessionID,用该 SessionID 为标识符来存取服务器端的 Session 存储空间。而
SessionID 这一数据则是保存到客户端,用 Cookie 保存的,用户提交页面时,会将这一 SessionID
提交到服务器端,来存取 Session 数据。这一过程,是不用开发人员干预的。所以一旦客户端禁
用 Cookie,那么 Session 也会失效。
3. 如何修改 SESSION 的生存时间
1. 设置浏览器保存的 sessionid 失效时间 setcookie(session_name(), session_id(), time() + $lifeTime,
"/");
2. 可以使用 SESSION 自带的 session_set_cookie_params(86400); 来设置 Session 的生存期
3. 通过修改 php.ini 中的 session.gc_maxlifetime 参数的值就可以改变 session 的生存时间
4. PHP 页面重定向的方法有哪些
1. header('Location: http://www.baidu.com/') ;
2. echo '<meta http-equiv="Refresh" content="0;url=http://www.baidu.com/" >';
3 echo '<script>window.location.href= www.baidu.com</script>';