Php 通过Xsendfile对下载文件进行速度限制

Php 通过Xsendfile对下载文件进行速度限制,php,apache,x-sendfile,Php,Apache,X Sendfile,是否有任何选项限制Xsendfile中的下载速度? 我想通过Xsendfile设置速度限制和连接限制 在Xsendfile强制下载(fread())之前,我通过以下代码进行速度限制: if ($speed > 0 && ($this->bandwidth > $speed*$packet*1024)) { sleep(1); $packet++; }

是否有任何选项限制Xsendfile中的下载速度? 我想通过Xsendfile设置速度限制和连接限制

在Xsendfile强制下载(fread())之前,我通过以下代码进行速度限制:

if ($speed > 0 && ($this->bandwidth > $speed*$packet*1024))
            {
                sleep(1);
                $packet++;
            }
但是在Xsendfile中,我不能用这种方式控制速度


我还可以通过Accept Ranges头激活或取消激活简历,但我不能在xsendfile中这样做

X-Sendfile将数据传输卸载到Linux内核,Linux内核将数据从文件直接发送到网络。这避免了必须将文件的数据复制到用户空间内存中,因此使用更少的CPU。由于数据不通过任何用户空间进程,因此无法手动调节数据

您可以通过流量整形来限制带宽,但这是一个系统配置问题,因此在此不再讨论。在这方面有许多关于服务器故障的问题,例如:


至于文件范围,modxsendfile(参见“好处”下)

因此,没有办法通过php处理它?没有。当您使用
sendfile