为了账号安全,请及时绑定邮箱和手机立即绑定

关于php.ini文件设置output=on 于系统默认设置output_buffering = 4096 的区别

ob_start();

require_once('./templates/singwa.php');

file_put_contents('index.shtml',ob_get_clean());

//以上语句是可以将数据获取,并清除缓存,页面不会有任何输出

//但是,如果我不写 ob_start();  页面会将内容全部输出,那么意味着ob_get_clean()函数是没有生效?

//老师说的在ini文件中配置output=on之后,不是没有区别的吗?求解?

##之后我发现我的系统默认设置不是on而是4096,我修改为on之后,不添加ob_start();也不会输出了

//那么问题来了

php.ini文件设置output=on  与系统默认设置output_buffering = 4096 的区别

正在回答

2 回答

output_buffering有3个值,on|off|正整数值,4096的意思就是默认开启一个4096Byte大小的缓冲区,而on会打开一个无限大的缓冲区。

php 5.3+默认output_buffering = 4096,说明默认输出缓冲区是开启的,大小为4096,当输出缓冲区中的内容超过4096时候,它会溢出。所以我们在使用输出缓冲区的时候,都会手动去写一个ob_start(),让它开启一个无限大的输出缓冲区。

1 回复 有任何疑惑可以回复我~

只有缓冲区达到4096字节时才会输出缓冲区的内容 也可以用ob_flush来强制输出

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
PHP实现页面静态化
  • 参与学习       55617    人
  • 解答问题       118    个

网站开发必备技能—页面静态化,帮助大家掌握一项加薪利器

进入课程

关于php.ini文件设置output=on 于系统默认设置output_buffering = 4096 的区别

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号