Pre-built PHP binaries and Docker images with native async/coroutine support via the TrueAsync extension.
docker pull trueasync/php-true-async:8.6
docker run --rm trueasync/php-true-async:8.6 php -vEach image includes both php (CLI) and php-fpm.
Available tags:
| Tag | Base | Description |
|---|---|---|
8.6 |
Ubuntu 24.04 | Full image with cli + fpm |
8.6-alpine |
Alpine 3.20 | Lightweight image with cli + fpm |
latest |
Ubuntu 24.04 | Alias for 8.6 |
curl -fsSL https://raw.githubusercontent.com/true-async/releases/master/installer/build-linux.sh | bashAn interactive wizard will guide you through the build configuration: extensions, debug mode, install path, and PATH setup.
For non-interactive use (CI/scripts):
curl -fsSL https://raw.githubusercontent.com/true-async/releases/master/installer/build-linux.sh | \
NO_INTERACTIVE=true EXTENSIONS=all SET_DEFAULT=true bashSupported distros: Ubuntu, Debian (apt-based).
curl -fsSL https://raw.githubusercontent.com/true-async/releases/master/installer/build-macos.sh | bashRequires Homebrew. Supports both Apple Silicon (ARM) and Intel Macs.
For non-interactive use:
curl -fsSL https://raw.githubusercontent.com/true-async/releases/master/installer/build-macos.sh | \
NO_INTERACTIVE=true EXTENSIONS=all SET_DEFAULT=true bashQuick install (PowerShell):
irm https://raw.githubusercontent.com/true-async/releases/master/installer/install.ps1 | iexManual install:
- Go to Releases
- Download the archive:
- Release — for general use
- Debug — for PHP/extension development (includes debug symbols and assertions)
- Verify the SHA256 checksum from
sha256sums.txt - Extract to your preferred location
- Add the directory to your PATH
The build-from-source scripts (build-linux.sh, build-macos.sh) support these options:
| Option | Env Variable | Default | Description |
|---|---|---|---|
--prefix DIR |
INSTALL_DIR |
$HOME/.php-trueasync |
Installation directory |
--set-default |
SET_DEFAULT=true |
false |
Add to PATH as default php |
--debug |
DEBUG_BUILD=true |
false |
Build with debug symbols |
--extensions PRESET |
EXTENSIONS |
standard |
Extension preset: standard, xdebug, all |
--no-xdebug |
NO_XDEBUG=true |
false |
Exclude Xdebug from build |
--no-latest-curl |
BUILD_LATEST_CURL=false |
true |
Skip building libcurl 8.12.0 (async uploads fallback) |
--jobs N |
BUILD_JOBS |
auto | Parallel make jobs |
--branch NAME |
PHP_BRANCH |
from config | Override php-src branch |
--no-interactive |
NO_INTERACTIVE=true |
false |
Skip interactive wizard |
By default, the installer builds libcurl 8.12.0 from source. This is required for fully async file uploads — libcurl >= 8.11.1 fixes PAUSE/unpause bugs (curl#15627) that caused intermittent timeouts. Use --no-latest-curl to skip this and use the system libcurl (async uploads will fall back to synchronous reads).
TrueAsync PHP is not added to PATH by default to avoid conflicts with your system PHP. Use --set-default to make it the default php.
After installation, use the php-trueasync command:
php-trueasync rebuild # Rebuild from latest source
php-trueasync version # Show installed version
php-trueasync uninstall # Remove TrueAsync PHPphp -v
php -m | grep async| Extension | Description |
|---|---|
| async | TrueAsync coroutine engine with libuv reactor |
| xdebug | Debugger and profiler (optional) |
Standard PHP extensions: curl, mbstring, openssl, pdo, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, sockets, and more.
| Platform | Method | Variants | Status |
|---|---|---|---|
| Linux | Docker | Ubuntu 24.04, Alpine 3.20 | ✅ |
| Linux | Build from source | Ubuntu/Debian (apt) | ✅ |
| macOS | Build from source | ARM + Intel (Homebrew) | ✅ |
| Windows | Pre-built binaries | Release, Debug (x64) | ✅ |
Build parameters are defined in build-config.json:
- PHP source repository and branch
- Extensions to include
- Configure flags per platform
- Docker Hub — Docker images
- TrueAsync PHP Source — PHP fork with async API
- TrueAsync Extension — libuv-based async implementation
- TrueAsync Xdebug — Xdebug with async support
MIT