项链 / xxhash-ffi
1.0.1
2020-01-15 07:10 UTC
Requires
- php: ^7.4
- ext-ffi: *
Requires (Dev)
- mockery/mockery: ^1.3
- phpunit/phpunit: ^8.5
- roave/no-leaks: ^1.1
This package is not auto-updated.
Last update: 2023-10-05 20:47:35 UTC
README
这是来自xxHash的libxxHash
库在PHP中的FFI绑定。
你在这里是因为
- 你需要在PHP中使用xxHash。
- 你不想安装扩展。
- 你可以将系统上的
xxhash
包安装为libxxHash。 - 你想要速度,或者至少比纯PHP实现xxHash更快。
如果是这样,你就来对地方了。
入门
设置
显然,你需要xxHash
包。此外,你还需要libffi
,并启用PHP的FFI(因此你需要PHP 7.4或更高版本)。libxxhash需要是v0.6.4或更高版本。
以下是常见的安装方法
- Arch GNU/Linux:
sudo pacman -S xxhash libffi
- Debian / Ubundu:
sudo apt install xxhash libffi
- Fedora:
sudo dnf install xxhash libffi
- OpenSUSE:
sudo zypper install xxhash libffi
PHP必须使用--with-ffi
选项编译,大多数发行版都会这么做。
在您的系统上找到相关的php.ini
文件,并确保这两行存在且已取消注释
extension=ffi
ffi.enable=true
然后,只需将绑定添加到您的项目中
composer require necklace/xxhash-ffi
让我来计算散列值吧!
好吧,好吧。我知道你想要什么,我也知道你需要什么。你有文件,我们有散列值
散列文件
<?php
use Necklace\XxHash\XxHash64;
$xxh = new XxHash64;
echo $xxh->hashFile('filename');
cee0f97cde3a4cda
嘿,我想要最新、最快、最好的!
这个库支持XXH3算法,你可以使用它,但请注意;它仍然被标记为实验性:这个版本的返回值与其他版本不可比。
<?php
use Necklace\XxHash\Xxh3\XxHash64;
$xxh = new XxHash64;
echo $xxh->hashFile('filename');
db70939c6397e562
在tests/
目录中查看更多示例。
许可证
此存储库及其所有文件均受xxHash项目相同的许可证约束;BSD 2-Clause License。
查看COPYING或LICENSE.txt。
开发
克隆并运行composer install
。
记得运行~/.config/composer/vendor/bin/php-cs-fixer fix src/
测试
从顶级目录运行所有测试:php vendor/bin/phpunit
使用vendor/bin/roave-no-leaks
在测试中检测内存泄漏。