Skip to content

Install PAM

Every PAM product starts with the pam command. Install the CLI first; it then manages the private PHP runtime, verified Composer toolchain, project creation, development, diagnostics, generators, native hosts, and release builds.

PAM 2.2.4 ships prebuilt Linux and macOS releases for x86_64 and ARM64. Linux archives target glibc 2.35 or newer. The Apple Silicon archive also includes the verified iOS PHP and engine XCFrameworks.

Terminal window
curl --proto '=https' --tlsv1.2 --fail --silent --show-error --location \
--output pam-install.sh \
https://github.com/push-in/pam/releases/latest/download/install.sh
sh pam-install.sh
rm pam-install.sh
pam --version
pam doctor

The installer verifies the release SHA-256, rejects unsafe archive paths, and installs without root under ~/.local.

The latest URL follows the current public tag. Pin a release in CI or a reproducible image:

https://github.com/push-in/pam/releases/download/v2.2.4/install.sh

An official bundle includes:

  • the PAM binary;
  • its exact private PHP Embed library;
  • a reviewed set of common PHP extensions;
  • an isolated PHP INI tree; and
  • the non-system shared libraries required by the runtime.

You do not need a system PHP installation, global Composer, Rust, PHP development headers, or an FPM service to use an official release.

Inside an Android project, pam doctor --fix downloads the attested Android bundle, verifies its SHA-256, and installs the PHP 8.4/8.5 runtimes and prebuilt ARM64/x86_64 native engines. Rust is only required when rebuilding the engine itself.

Target Current support
Linux server, x86_64 Available; glibc 2.35+
Linux server, ARM64 Available; glibc 2.35+
macOS CLI, Apple Silicon Available; includes iOS runtimes
macOS CLI, Intel Available; verified PHP 8.4/8.5 macOS runtime
Android native API 26–36
iOS native Generated UIKit host; PHP 8.4/8.5 simulator certification; signed IPA tooling
Linux desktop Experimental bundle and Debian package
macOS desktop Planned
Windows desktop Planned

Runtime contributors need Rust 1.88 or newer, a C toolchain, PHP 8.5 development headers, and the matching Embed library. End users do not need this toolchain.

Terminal window
sudo apt-get install -y build-essential php8.5-dev libphp8.5-embed
cargo build --locked --release

Use PHP_CONFIG and PAM_PHP_LIB_DIR when working with a custom build toolchain. These are build-time settings, not end-user requirements.

See release 2.2.4 for the exact artifacts, clean-project evidence, verification commands, and public package records.