|Nichlas Severinsen 00f8f666d0 Updated CHANGELOG.md||1 year ago|
|include||1 year ago|
|src||1 year ago|
|tests||1 year ago|
|.editorconfig||1 year ago|
|.gitignore||1 year ago|
|.php_cs||1 year ago|
|CHANGELOG.md||1 year ago|
|COPYING||1 year ago|
|LICENSE.txt||1 year ago|
|README.md||1 year ago|
|composer.json||1 year ago|
|phpunit.xml||1 year ago|
This is an FFI binding of the
libxxHash library from xxHash for PHP.
You're here because:
xxhashpackage on your system to get libxxHash.
If so, you're in the right place.
You will obviously need the
In addition you will need
libffi, and enable FFI for PHP (You will therefore need PHP version 7.4 or above).
libxxhash needs to be v0.6.4 or above.
Here are some common ways to install:
sudo pacman -S xxhash libffi
sudo apt install xxhash libffi
sudo dnf install xxhash libffi
sudo zypper install xxhash libffi
PHP has to be compiled with the
--with-ffi option, most distributions will have done this.
Locate the relevant
php.ini file on your system and make sure these two lines are present, uncommented:
Then, simply add the bindings to your project:
composer require necklace/xxhash-ffi
Alright, alright. I know what you want, and I got what you need. You've got files, we got hashes:
<?php use Necklace\XxHash\XxHash64; $xxh = new XxHash64; echo $xxh->hashFile('filename');
This library supports the XXH3 algorithm, you can use this but beware; it's still labeled experimental : return values from this version are not comparable with other versions.
<?php use Necklace\XxHash\Xxh3\XxHash64; $xxh = new XxHash64; echo $xxh->hashFile('filename');
tests/ for more examples.
See COPYING or LICENSE.txt.
Clone and run
Remember to run
~/.config/composer/vendor/bin/php-cs-fixer fix src/
Run all tests with
php vendor/bin/phpunit from the top directory.
Test memory leaks in tests with