Arrow Extension
Precompiled Binaries
You can download precompiled binaries from the GitHub Releases page.
Binary names follow the PIE naming convention:
php_arrow-{Version}_php{PhpVersion}-{Arch}-{OS}-{Libc}[-{TSMode}].zip
Available platforms:
- macOS ARM64 (Apple Silicon)
- Linux ARM64
- Linux x86_64
PHP versions: 8.3, 8.4, 8.5 (each with NTS and ZTS variants).
Installation
Download the matching zip for your platform, then:
# Unzip the archive
unzip php_arrow-*.zip
# Copy to your PHP extensions directory
cp arrow.so $(php -r "echo ini_get('extension_dir');")
# Enable it
echo "extension=arrow" > $(php -r "echo PHP_CONFIG_FILE_SCAN_DIR;")/arrow.ini
# Verify
php -m | grep arrow
Version
Install the extension of the Flow release you use. flow-php/parquet and flow-php/etl-adapter-parquet conflict
with ext-arrow <0.45.
AdaptiveParquetEngine refuses an extension built for a different release. It throws a RuntimeException that names
the version and the ABI of the extension. new PhpParquetEngine() still runs.
PIE
PIE is the modern PHP extension installer.
pie install flow-php/arrow-ext
Build Prerequisites
The Arrow extension is written in Rust. Its compilation needs these tools:
- Rust toolchain (rustc, cargo): install it with rustup
- clang: required by the Rust build process
Found a typo or an outdated section? Edit this page on GitHub