MEASURED STATUS

Numbers, not promises.

Coverage: · development:

2,649

passing Zend corpus tests

82%

of the core standard library

30,472

WordPress single-site tests at effective oracle parity

31,278

WordPress multisite tests at effective oracle parity

Global coverage was measured on 30 July 2026; the server integration snapshot is current to 31 July 2026 at commit e5c9cf5. See coverage ↗

THE CONTRACT

Compatible in behavior. Free in implementation.

The reference is not Zend's design, but the output PHP code produces. The official .phpt corpus and real application suites become executable oracles for closing each difference.

Faithful

Type juggling, errors, warnings, stack traces and edge cases are compared byte for byte with PHP.

Safer foundations

Rust ownership, types and data structures replace much of the manual memory management found in the C core.

Resident direction

A compatible server exists; each Axum worker now retains a thread-local arena and runs the explicit request lifecycle. Each request still gets a fresh VM; same-VM reuse remains gated.

ARCHITECTURE

One production VM.

Source moves through an explicit pipeline: parser, intermediate representations, bytecode compilation and VM dispatch.

Pipeline: PHP source, mago parser, AST and HIR, bytecode, VM.

“Correct or absent.”

A function returning plausible but wrong results is worse than a missing function. A builtin is registered only after its behavior has been verified.

TAKE PART

Every closed test makes PHP more real.

Pick a failing .phpt test, lifecycle gate or application case, reproduce the oracle's behavior, and close the gap without regressions.

How to contribute GitHub issues ↗