Phrust is a Rust implementation of a PHP 8.5-compatible engine. It currently provides a developer CLI, an integrated HTTP server, PHPT compatibility tooling, and the engine layers needed to compare behavior with a pinned PHP reference.
Phrust is useful for engine development and compatibility work. It is not a drop-in production PHP runtime, Zend extension ABI, FPM replacement, Opcache replacement, or production JIT.
Start here to run PHP code, try the server, or understand current compatibility.
Start here when changing the engine, tests, compatibility fixtures, or docs.
These pages explain the implementation structure and accepted boundaries.
- Architecture index
- ADRs
- Lexer architecture
- Parser architecture
- Semantic frontend architecture
- Runtime and VM
- Standard library
- Server architecture
- Performance
Use these documents for current status, compatibility contracts, and machine policy summaries.
- Reference index
- PHP compatibility target
- Known-gap manifests
- PHPT status
- Performance status
- Runtime known gaps
- Standard library known gaps
- Server known gaps
- API facades
Human-facing docs describe stable behavior, accepted architecture, current
compatibility posture, and reproducible workflows. Local benchmark outputs,
profiler captures, PHPT run reports, and generated JSON/JSONL reports belong
under target/ unless a tool explicitly consumes a committed manifest.
research/ contains exploratory notes and implementation options. Research
docs are not accepted project contracts unless an ADR or owning architecture
page adopts them.