Skip to content
Search

Flow PHP Extension

Precompiled Binaries

Precompiled binaries are available for download from the GitHub Releases page.

Binary names follow the PIE naming convention:

php_flow_php-{Version}_php{PhpVersion}-{Arch}-{OS}-{Libc}[-{TSMode}].zip

Available platforms:

  • macOS ARM64 (Apple Silicon)
  • Linux ARM64 - glibc (Debian, Ubuntu, ...) and musl (Alpine)
  • Linux x86_64 - glibc (Debian, Ubuntu, ...) and musl (Alpine)

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_flow_php-*.zip

# Copy to your PHP extensions directory
cp flow_php.so $(php -r "echo ini_get('extension_dir');")

# Enable it
echo "extension=flow_php" > $(php -r "echo PHP_CONFIG_FILE_SCAN_DIR;")/flow_php.ini

# Verify
php -m | grep flow_php

PIE

PIE is the modern PHP extension installer.

pie install flow-php/flow-php-ext

Alpine Linux (musl)

Alpine images need libgcc before the extension will load:

apk add --no-cache libgcc
pie install flow-php/flow-php-ext

libgcc (129 KiB) provides libgcc_s.so.1, which the Rust runtime links for stack unwinding. Debian and Ubuntu ship it in the base system; Alpine does not. Without it PHP reports:

Unable to load dynamic library '.../flow_php.so'
  (Error loading shared library libgcc_s.so.1: No such file or directory)

Installing libgcc is still dramatically cheaper than the alternative - without a musl binary PIE falls back to a source build, which pulls the full Rust toolchain (rust cargo clang-dev, ~824 MB) into the image.

Build Prerequisites

The Flow PHP extension is written in Rust and requires the following tools to compile:

  • Rust toolchain (rustc, cargo) - install via 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