php - PHP/Apache 中的输出缓冲 block 如何工作?

标签 php apache output-buffering

假设我正在从 PHP 向浏览器回显随机数据。随机数据总量约为 XGb,回显以 YKb block 的形式完成。 ob_start() 未被使用。在 PHP 和 Apache 缓冲区已满后回显调用是否会阻塞(客户端无法以与生成数据相同的速度使用数据)?如果是这样,PHP 和 Apache 缓冲区的大小是多少?我理解的对吗,过程:

  • PHP echo 正在将字节发送到 php 输出缓冲区,直到它已满。在那之后 echo 开始阻塞,直到一些缓冲区被发送到 Apache 并因此被清除
  • PHP 正在从它的输出缓冲区发送数据,直到 Apache 缓冲区已满。之后 Apache 停止从 PHP 接收数据并等待,直到部分缓冲区被发送到客户端并被清除。

附言如果您对我要完成的任务的愚蠢感到惊讶,我可以说,我正在为应用了特定流量规则的专用服务器编写小型流量平衡脚本(IN/OUT 流量比率应保持在特定值) .

最佳答案

关于php - PHP/Apache 中的输出缓冲 block 如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2072219/

相关文章:

php - 使用 URL 重写构建 Twitter Composer Modal

java - Nutch Crawler错误:Hadoop路径权限

apache - htaccess 防止热链接也可以防止外部链接

php - 在 php 中缓冲输出时可以继续记录错误吗?

PHP输出缓冲,由ob_gzhandler引起的内容编码错误?

php - PHP 中用于增加页面加载时间的“输出缓冲”

php - 从 MySQL 中选择项目以高效地更新状态,同时考虑可能的垃圾邮件

php - Laravel 排序集合然后按键

php - Laravel 正确迁移表但无法通过 Eloquent 与 DB 对话

apache - 我如何在 laragon 中将 HTTP 重定向到 HTTPS