{"id":46893579,"url":"https://github.com/true-async/releases","last_synced_at":"2026-08-01T00:00:33.266Z","repository":{"id":338666798,"uuid":"1158667944","full_name":"true-async/releases","owner":"true-async","description":"TrueAsync PHP — pre-built binaries and installer","archived":false,"fork":false,"pushed_at":"2026-07-15T17:58:59.000Z","size":266,"stargazers_count":18,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-07-15T18:05:41.602Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/true-async.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-15T18:29:32.000Z","updated_at":"2026-07-15T17:58:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"3cc5be0c-cec9-471e-b3a5-ca7336791c22","html_url":"https://github.com/true-async/releases","commit_stats":null,"previous_names":["true-async/releases"],"tags_count":58,"template":false,"template_full_name":null,"purl":"pkg:github/true-async/releases","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/true-async%2Freleases","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/true-async%2Freleases/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/true-async%2Freleases/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/true-async%2Freleases/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/true-async","download_url":"https://codeload.github.com/true-async/releases/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/true-async%2Freleases/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36137694,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-31T02:00:06.731Z","response_time":112,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-03-10T23:19:54.909Z","updated_at":"2026-08-01T00:00:33.234Z","avatar_url":"https://github.com/true-async.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TrueAsync PHP\n\nPre-built PHP binaries and Docker images with native async/coroutine support via the TrueAsync extension.\n\n## Quick Start\n\n### Docker (Linux)\n\n```bash\ndocker pull trueasync/php-true-async:latest\ndocker run --rm trueasync/php-true-async:latest php -v\n```\n\nEach image includes both `php` (CLI) and `php-fpm`. All images are **multi-arch**: `linux/amd64` and `linux/arm64` — Docker picks the right variant automatically.\n\nAvailable tags:\n\n| Tag                          | Base         | Arch           | Description                           |\n|------------------------------|--------------|----------------|---------------------------------------|\n| `latest`                     | Ubuntu 24.04 | amd64 + arm64  | Latest stable, cli + fpm              |\n| `latest-alpine`              | Alpine edge  | amd64 + arm64  | Lightweight, cli + fpm                |\n| `latest-frankenphp`          | Ubuntu 24.04 | amd64 + arm64  | FrankenPHP — Caddy + async PHP worker |\n| `latest-debug`               | Ubuntu 24.04 | amd64          | Debug build with symbols              |\n| `{version}-php{ver}`         | Ubuntu 24.04 | amd64 + arm64  | Pinned release, e.g. `0.7.0-php8.4`  |\n| `{version}-php{ver}-alpine`  | Alpine edge  | amd64 + arm64  | Pinned alpine release                 |\n| `{version}-php{ver}-frankenphp` | Ubuntu 24.04 | amd64 + arm64 | Pinned FrankenPHP release            |\n\n### TrueAsync Server\n\n[TrueAsync Server](https://github.com/true-async/server) is a native PHP extension that runs a high-performance HTTP server **directly inside PHP** — no reverse proxy, no external daemon, no separate process.\n\nA single `$server-\u003estart()` call serves HTTP/1.1, HTTP/2, and HTTP/3 (QUIC) over the same port via ALPN negotiation, driven by the TrueAsync event loop. WebSocket, SSE, and gRPC are planned.\n\n```php\nuse TrueAsync\\HttpServer;\nuse TrueAsync\\HttpServerConfig;\n\n$server = new HttpServer(\n    (new HttpServerConfig())\n        -\u003eaddListener('0.0.0.0', 8080)\n        -\u003esetWorkers(4)\n);\n\n$server-\u003eaddHttpHandler(function ($request, $response) {\n    $response-\u003esetStatusCode(200)-\u003esetBody('Hello, World!');\n});\n\n$server-\u003estart();\n```\n\nSee [true-async/server](https://github.com/true-async/server) for installation and full documentation.\n\n### Build from Source (Linux)\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/true-async/releases/master/installer/build-linux.sh | bash\n```\n\nAn interactive wizard will guide you through the build configuration: extensions, FrankenPHP, debug mode, install path, and PATH setup.\n\nFor non-interactive use (CI/scripts):\n\n```bash\n# Standard build\ncurl -fsSL https://raw.githubusercontent.com/true-async/releases/master/installer/build-linux.sh | \\\n  NO_INTERACTIVE=true EXTENSIONS=all SET_DEFAULT=true bash\n\n# With FrankenPHP\ncurl -fsSL https://raw.githubusercontent.com/true-async/releases/master/installer/build-linux.sh | \\\n  NO_INTERACTIVE=true EXTENSIONS=all BUILD_FRANKENPHP=true SET_DEFAULT=true bash\n```\n\nSupported distros: Ubuntu, Debian (apt-based).\n\n### Build from Source (macOS)\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/true-async/releases/master/installer/build-macos.sh | bash\n```\n\nRequires [Homebrew](https://brew.sh). Supports both Apple Silicon (ARM) and Intel Macs.\n\nFor non-interactive use:\n\n```bash\n# Standard build\ncurl -fsSL https://raw.githubusercontent.com/true-async/releases/master/installer/build-macos.sh | \\\n  NO_INTERACTIVE=true EXTENSIONS=all SET_DEFAULT=true bash\n\n# With FrankenPHP\ncurl -fsSL https://raw.githubusercontent.com/true-async/releases/master/installer/build-macos.sh | \\\n  NO_INTERACTIVE=true EXTENSIONS=all BUILD_FRANKENPHP=true SET_DEFAULT=true bash\n```\n\n### Windows\n\n**Quick install (PowerShell):**\n```powershell\nirm https://raw.githubusercontent.com/true-async/releases/master/installer/install.ps1 | iex\n```\n\n**Manual install:**\n1. Go to [Releases](https://github.com/true-async/releases/releases)\n2. Download the archive:\n   - **Release** — for general use\n   - **Debug** — for PHP/extension development (includes debug symbols and assertions)\n3. Verify the SHA256 checksum from `sha256sums.txt`\n4. Extract to your preferred location\n5. Add the directory to your PATH\n\n## Build Options\n\nThe build-from-source scripts (`build-linux.sh`, `build-macos.sh`) support these options:\n\n| Option                | Env Variable             | Default                | Description                                          |\n|-----------------------|--------------------------|------------------------|------------------------------------------------------|\n| `--prefix DIR`        | `INSTALL_DIR`            | `$HOME/.php-trueasync` | Installation directory                               |\n| `--set-default`       | `SET_DEFAULT=true`       | `false`                | Add to PATH as default php                           |\n| `--debug`             | `DEBUG_BUILD=true`       | `false`                | Build with debug symbols                             |\n| `--extensions PRESET` | `EXTENSIONS`             | `standard`             | Extension preset: `standard`, `xdebug`, `all` (see below) |\n| `--no-xdebug`         | `NO_XDEBUG=true`         | `false`                | Exclude Xdebug from build                            |\n| `--frankenphp`        | `BUILD_FRANKENPHP=true`  | `false`                | Build FrankenPHP binary (Caddy-based async server)   |\n| `--no-latest-curl`    | `BUILD_LATEST_CURL=false`| `true`                 | Skip building libcurl 8.12.0 (async uploads fallback)|\n| `--jobs N`            | `BUILD_JOBS`             | auto                   | Parallel make jobs                                   |\n| `--branch NAME`       | `PHP_BRANCH`             | from config            | Override php-src branch                              |\n| `--no-interactive`    | `NO_INTERACTIVE=true`    | `false`                | Skip interactive wizard                              |\n\n**Extension presets** (`--extensions`):\n\n| Preset     | Xdebug | Description                        |\n|------------|--------|------------------------------------|\n| `standard` | No     | async + core PHP extensions        |\n| `xdebug`   | Yes    | standard + Xdebug debugger         |\n| `all`       | Yes    | everything (same as `xdebug`)      |\n\nFrankenPHP is opt-in via `--frankenphp` / `BUILD_FRANKENPHP=true` regardless of the preset. Requires Go 1.26+ (installed automatically if not found).\n\nBy default, the installer builds **libcurl 8.12.0** from source. This is required for fully async file uploads — libcurl \u003e= 8.11.1 fixes PAUSE/unpause bugs ([curl#15627](https://github.com/curl/curl/pull/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).\n\nTrueAsync PHP is **not** added to PATH by default to avoid conflicts with your system PHP. Use `--set-default` to make it the default `php`.\n\n## Management\n\nAfter installation, use the `php-trueasync` command:\n\n```bash\nphp-trueasync rebuild     # Rebuild from latest source\nphp-trueasync version     # Show installed version\nphp-trueasync uninstall   # Remove TrueAsync PHP\n```\n\n## Verify Installation\n\n```bash\nphp -v\nphp -m | grep async\n```\n\n## What's Included\n\n| Extension  | Description                                   |\n|------------|-----------------------------------------------|\n| **async**  | TrueAsync coroutine engine with libuv reactor |\n| **xdebug** | Debugger and profiler (optional)              |\n\nStandard PHP extensions: curl, mbstring, openssl, pdo, pdo_mysql, pdo_pgsql, pdo_sqlite, pgsql, sockets, and more.\n\n## Platforms\n\n| Platform  | Method             | Variants                  | Status  |\n|-----------|--------------------|---------------------------|---------|\n| Linux     | Docker (amd64)     | Ubuntu 24.04, Alpine edge, FrankenPHP | ✅       |\n| Linux     | Docker (arm64)     | Ubuntu 24.04, Alpine edge, FrankenPHP | ✅       |\n| Linux     | Build from source  | Ubuntu/Debian (apt)       | ✅       |\n| macOS     | Build from source  | ARM + Intel (Homebrew)    | ✅       |\n| Windows   | Pre-built binaries | Release, Debug (x64)      | ✅       |\n\n## Configuration\n\nBuild parameters are defined in [`build-config.json`](build-config.json):\n- PHP source repository and branch\n- Extensions to include\n- Configure flags per platform\n\n## Links\n\n- [TrueAsync Server](https://github.com/true-async/server) — native HTTP/1.1, HTTP/2, HTTP/3 server as a PHP extension\n- [Docker Hub](https://hub.docker.com/r/trueasync/php-true-async) — Docker images\n- [TrueAsync PHP Source](https://github.com/true-async/php-src) — PHP fork with async API\n- [TrueAsync Extension](https://github.com/true-async/async) — libuv-based async implementation\n- [TrueAsync Xdebug](https://github.com/true-async/xdebug) — Xdebug with async support\n- [TrueAsync FrankenPHP](https://github.com/true-async/frankenphp) — FrankenPHP fork with async worker support\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrue-async%2Freleases","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrue-async%2Freleases","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrue-async%2Freleases/lists"}