prolic/humus-stream-response-sender

支持发送带有HTTP Range头部、XSendFile和pecl_http支持的流响应的ZF2模块

v0.3.0 2018-11-22 16:08 UTC

This package is auto-updated.

Last update: 2024-08-27 01:01:32 UTC


README

Build Status Coverage Status Total Downloads Latest Stable Version Latest Unstable Version Dependency Status

简介

HumusStreamResponseSender是一个Zend Framework 2模块,它可以通过HTTP Range头部、XSendFile和pecl_http支持发送流响应。

要求

特性/目标

  • 通过Zend Framework 2发送流响应[已完成]
  • 限制下载速度[已完成]
  • 允许范围支持(下载恢复)[已完成]
  • 通过pecl_http扩展发送流[未完成]
  • 通过X-SendFile发送流[未完成]
  • 通过X-Accel-Redirect发送流[未完成]
  • 添加控制器插件以方便从控制器中进行流传输[已完成]

安装

  1. "prolic/humus-stream-response-sender": "dev-master"添加到您的composer.json
  2. 运行php composer.phar install
  3. 通过在config/application.config.php中将HumusStreamResponseSender添加到modules来启用模块

配置

示例配置

<?php
return array(
    'HumusStreamResponseSender' => array(
        'enable_speed_limit' => true,
        'enable_range_support' => true,
        'chunk_size' => 1024 * 1024 //  = 1MB/s
    ),
);

控制器插件的使用

从控制器中流式传输响应的最简单方法是使用流插件。

class IndexController extends AbstractActionController
{
    public function fileAction()
    {
        return $this->plugin('stream')->binaryFile('/path/to/my/file');
    }
}

其他注意事项

如果速度限制开关设置为true,则使用的块大小也将是每秒字节的下载速度

默认配置是

  • enable_speed_limit = false
  • enable_range_support = false
  • chunk_size = 262144