Skip to content
Search

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


Contributors

Built in the open.

Join us on GitHub
scroll back to top