php 缓冲区

1 : 什么是缓冲区

      缓冲区,实际上是一个内存地址空间

2:对于PHP 缓冲区,需要了解的 3 点内容

      (1):任何会输出内容的函数都会用到输出缓冲区,这里指的是正常的脚本,如果开发的是PHP 扩展,使用的C函数会直接输出到SAPI,不需要经过输出缓冲区

      (2):输出缓冲区层不是唯一用于缓冲输出的层,它实际上是很多层中的一个。输出缓冲区层的行为与你使用的SAPI(Web或CLI)有关,不同的SAPI有不同的行为。

      (3):SAPI中的缓冲区。这些都是PHP中的层,当输出的字节离开PHP进入计算机体系结构中的更底层时,缓冲区又会不断出现(终端缓冲区,fast-cgi缓冲区,Web服务器缓冲区,操作系统缓冲区,TCP/IP栈缓冲区等)

3:缓冲区相关的.php.ini 文件的配置选项

      output_buffering 默认4k 最好(4096 个字节写入一次缓冲区)

      implicit_flush CLI模式下使用

      output_handler 回调函数,缓冲区刷新之前修改缓冲区内容

缓冲区总结:

     缓冲区就像一张网,它会把所有从PHP “遗漏” 的输出包起来,然后把他们保存到一个大小固定的缓冲区里。当缓冲区被填满时,里面的内容会刷新(写入)到下一层,或者时写入下面的逻辑层:SAPI缓冲区。

    使用输出缓冲区能够有效节省带宽,比如图片,字体,CSS,JavaScript 等前端内容。特别时现在的前端框架也越来越大,让它使用户的反应速度更快,从而更有效的提高系统性能。 

 

 

展开阅读全文

没有更多推荐了,返回首页