orieg / expanse-extension
Native PHP Zend Engine extension for Expanse: modern Judy arrays in pure Rust (ext-php-rs). Userland API: orieg/expanse.
Package info
Language:Rust
Type:php-ext
Ext name:ext-expanse
pkg:composer/orieg/expanse-extension
Requires
- php: >=8.1
README
Native PHP Zend extension for Expanse — the clean-room, pure-Rust implementation of Judy arrays and 256-ary digital tries — built with ext-php-rs. It statically embeds the expanse core engine: no separate libexpanse shared library is required at runtime.
This is the extension half of the two-package convention: install this for maximum throughput, or use the userland library orieg/expanse (composer require orieg/expanse), which negotiates between this extension and a portable \FFI fallback driver at runtime.
Installation
pie install orieg/expanse-extension
pie install compiles the extension from Rust source on your machine, so a working Rust toolchain is required at install time. No prebuilt binaries are shipped.
Alternatively, build from the monorepo:
cargo build --release -p expanse-php
# Add to php.ini: extension=expanse.so (or libexpanse_php.dylib / expanse_php.dll)
Documentation
This repository is a read-only subtree mirror of crates/expanse-php in the orieg/expanse monorepo — file issues and pull requests there.
Full PHP API documentation: docs/bindings/php.md.
License
Dual-licensed under MIT or Apache-2.0, at your option.