Jan 10

PHP Sessions分析与常见问题解决方案 夜晚

, 08/01/10 00:26 , 技术开发 » PHP , 评论(0) , 引用(0) , 阅读(5864) , Via 本站原创 | |

Array
Array
指定会话页面所使用的缓冲控制方法:session_cache_limiter('private, must-revalidate');
然后再session_start();
其实这个和header('cache-control:private,must_revalidate');效果相同
是一个响应头标,cache-control:是一个通用头标,当为no-cache或者一些其他的value的为请求头标
当为private must-revalidate等的时候为响应头标
这里要特别提到一个函数:Array
在默认情况下,php是直接向标准输出输出内容的。也就是说php程序一边运行就一边输出。当内容较多时就可能出现无法获取输出设备或因网络问题而挂起的现象。当打开输出缓存后,php的输出被重定向到内存。待程序结束后,再一并输出到客户端。  
关于ob_start() 输出缓冲, 也保证session和html同时输出。给出一段综合例子:
Array

Array
   分析及解决办法
   这一类问题,的原因是程序中使用session_start()时,之前已经有实际的html内容输出了或者是session_start()定义重复。echo或print一条消息了。很抱歉,你的echo或print语句所产生的输出,就是实际的html内容输出。解决此类问题的办法是,将session_start()调到程序的第一行。上次我是单独放在页头的,最后同事在include文件中也加入了一次,重复也会导致错误。

Array
   分析及解决方法
   出现这样的错误语句一般是因为php.ini中关于session.save_path一项没有设置好,解决的方法是将session.save_path和session.cookie_path 设置置为
   session_save_path = c:\temp
   session.cookie_path = c:\temp
   然后在c:\目录下建立一个temp目录,同时指定成777权限哟。上次我在win2003下建文件目录了,但没有777权限,也会有错的。

Array
分析及解决方法
   出类这样的提示,一般情况都是直接调session_destroy()函数造成的。Array。解决的方法是在你调session_destroy()函数之前,要用session_start()开启session的功能。
内文分页: [1] [2]

作者:@Everyday NetLog
地址:http://log.zhoz.com/read.php?152
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!

Tags:
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]