FAQ

Domande frequenti.

Maturità, compatibilità, architettura e aspettative realistiche sul progetto.

phpr è pronto per la produzione?

No. È un runtime sperimentale in sviluppo attivo. Il core del linguaggio è ampio e software reale già gira, ma estensioni, SAPI web, hardening, packaging e prestazioni sotto carico non hanno ancora il livello necessario per sostituire PHP in produzione.

È un transpiler da PHP a Rust?

No. phpr analizza sorgente PHP, lo abbassa a rappresentazioni intermedie, compila bytecode ed esegue quel bytecode in una VM scritta in Rust.

Perché non riutilizzare lo Zend Engine?

Il progetto vuole esplorare una base moderna e memory-safe senza collegare il core C di PHP. La compatibilità viene preservata osservando il comportamento, non copiando l'architettura interna.

Quale versione di PHP usa come riferimento?

Lo snapshot pubblicato su questo sito usa PHP 8.5.7 come oracolo. Il repository può avanzare rapidamente; la pagina Stato riporta sempre data e versione della misurazione utilizzata.

Cosa significa “byte-identico”?

Per un caso verificato, stdout, warning, errori e formati attesi devono coincidere con l'output del runtime di riferimento secondo le regole del test .phpt. Non significa che ogni parte di PHP sia già compatibile.

Le estensioni PHP in C funzionano?

Non direttamente. Diverse estensioni sono reimplementate in Rust o appoggiate a librerie native mirate. Una compatibilità FFI per la coda PECL è una possibilità di lungo periodo, non una capacità disponibile oggi.

Rust rende automaticamente il runtime più veloce?

No. Rust offre strumenti per sicurezza della memoria e controllo architetturale, ma le prestazioni vanno misurate. La priorità attuale è la correttezza; preload, VM pool, JIT e I/O asincrono appartengono a fasi successive.

Il progetto è affiliato a PHP o Rust?

No. È un progetto indipendente. PHP e Rust sono citati per descrivere il linguaggio compatibile e la tecnologia di implementazione.

Come posso contribuire?

Il percorso più diretto è scegliere un test ufficiale che fallisce o un builtin mancante, riprodurre il comportamento con PHP 8.5.7, implementare la differenza e verificare che nessun test già verde regredisca.