prolic / humus-stream-response-sender
支持发送带有HTTP Range头部、XSendFile和pecl_http支持的流响应的ZF2模块
v0.3.0
2018-11-22 16:08 UTC
Requires
- php: ^5.6|^7.0
- zendframework/zend-http: ^2.2.1|^3.0
- zendframework/zend-modulemanager: ^2.2.1|^3.|^3.0
- zendframework/zend-mvc: ^2.2.1|^3.0
- zendframework/zend-servicemanager: ^2.2.1|^3.0
Requires (Dev)
- phpmd/phpmd: 1.5.*
- phpunit/phpunit: ^5.7|^6.0
- satooshi/php-coveralls: ~0.6
- squizlabs/php_codesniffer: 1.4.*
- zendframework/zendframework: ^2.2.1|^3.0
This package is auto-updated.
Last update: 2024-08-27 01:01:32 UTC
README
简介
HumusStreamResponseSender是一个Zend Framework 2模块,它可以通过HTTP Range头部、XSendFile和pecl_http支持发送流响应。
要求
- Zend Mvc 2.2.1(最新master版)
- Zend Http 2.2.1(最新master版)
- Zend ModuleManager 2.2.1(最新master版)
特性/目标
- 通过Zend Framework 2发送流响应[已完成]
- 限制下载速度[已完成]
- 允许范围支持(下载恢复)[已完成]
- 通过pecl_http扩展发送流[未完成]
- 通过X-SendFile发送流[未完成]
- 通过X-Accel-Redirect发送流[未完成]
- 添加控制器插件以方便从控制器中进行流传输[已完成]
安装
- 将
"prolic/humus-stream-response-sender": "dev-master"
添加到您的composer.json
- 运行
php composer.phar install
- 通过在
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