calcinai / php-mmap
PHP的mmap
v0.1.8
2016-08-01 09:05 UTC
Requires
- php: >=5.4.0
Suggests
- ext-mmap: Much more efficient native extension
README
这个库是C语言mmap的轻量级实现。在PHP的早期版本中,fopen
在可能的情况下使用mmap,但看起来这个功能在5.3版本中被移除了。实际的映射委托给Python子进程以实现兼容性和可编译性。
这最初是另一个项目的组件,但作为一个独立的库它更有意义。它是同步操作的,但如果需要读取大量数据,可以分块进行。
我尽量使它功能上等同于C语言的实现,但由于一些限制,它并不完全相同。
我还编写了一个兼容的扩展php-ext-mmap,你可以编译并安装作为更快的替换方案。
配置
使用composer
"require": { "calcinai/php-mmap": "^0.1" }
使用方法
通过URI(类似的方式)
$mmap = fopen('mmap:///dev/mem:1024?offset=0', 'rw');
通过包装方法
$mmap = mmap_open('/dev/mem', 1024, 0);
你可以在流上使用fseek()
、fread()
和fwrite()
。如果你有其他用途,请告诉我。