+316原创程序 +49收集论文 +84原创文章 +1670VIP客户 +3367664总访问量
您的位置:首页 > 设计师随笔 > ob_start()等函数的理解
ob_start()等函数的理解
作者/来源:原创    时间:2018-10-23    关注3914次

1、php本身有个缓冲区,大小由php.ini中的output_buffering 参数决定,默认情况下,服务器先将网页内容输出到这个默认的缓冲区,当缓冲区满或页面已经执行结束,才通过tcp将缓冲区内容输出到浏览器;

2、在使用session_start()或setcookie()等函数时,需要该函数之前浏览器未有任何输出,如果之前有输出,这些函数就不能正常工作;

如以下代码:

<?php

echo "aaaaaaaaaa";

session_start();

?>
如果php.ini的缓冲区设置很小,装不下aaaaaaaaaa,那么aaaaaaaaaa必然会在session_start()前输出,此时页面会报错。

解决方案:

1、修改php.ini的output_buffering使之变大;

2、在页面开头的地方使用ob_start();函数,ob_start()相当于手动设置缓冲区,不受php.ini中指定的缓冲区大小限制,ob_start()后所有的内容都被缓存,直到使用ob_end_flush()或flush()或页面结束时输出内容到浏览器,这样页面就不会报错。


下一篇:没有了

©专业辅导 php毕业设计,php课程设计,php期末作业,php大作业,品质保证 访问:3367664次  
9laile.com源码在线销售平台由本站设计师齐工独立研发
当前版本V1.1.18
皖ICP备05020966号

皖公网安备 34072202000111号

 68813382