2012-11-29 5 views
7

Facebook ha fatto un grande annuncio oggi - HHVM is replacing the original hiphop compiler.HHVM (HipHop) supporta le estensioni pecgr Postgresql/arbitary?

Il vecchio HipHop aveva un supporto limitato per le estensioni - incluso, IIRC, nessun supporto postgres.

HHVM supporta tutte le estensioni pecl? Quanto della libreria PHP standard supporta?

Cosa non supporta HHVM?

+1

trovato questo: il supporto https://github.com/facebook/hiphop-php/wiki/Extensions-and-modules-roadmap ... –

risposta

13

L'anno da quando ho inizialmente risposto a questa domanda, le cose sono cambiate radicalmente. HHVM now publishes an extension list. Anche se non sono ancora supportati per il ext/pgsql, fanno riferimento a this third party extension che implementa ext/pgsql e fornisce il supporto di Postgres per PDO. Ora pubblicano anche documentation on writing your own extensions.

La mia risposta originale è qui sotto. Tieni presente che HHVM ha completamente sostituito HipHop e che i link e le informazioni di seguito non sono aggiornati.


supporto non HHVM tutte le estensioni PECL?

Tutte le attuali estensioni PHP sono inesorabilmente legate all'attuale base di codice PHP, API Zend e macchina virtuale PHP esistente.

HipHop e HHVM sono implementazioni separate del linguaggio PHP, utilizzando diversi metodi per eseguire codice PHP. Non usano la base di codice PHP esistente, Zend ZPI o la VM di PHP. Eventuali estensioni PHP esistenti, come quelle ospitate su PECL, non possono essere trasferite direttamente su HipHop/HHVM.

In realtà, non è tanto il "porting" dell'estensione che dovrebbe accadere quanto completa reimplementation di ground-up. La buona notizia, se ce n'è una, è che molte estensioni PHP sono semplicemente faccette sottili sopra l'API di livello C non elaborata esposta da qualunque libreria venga trasformata in un'estensione. A seconda dell'obiettivo, la porta potrebbe essere molto semplice. D'altra parte, non tutte le estensioni sono wrapper attorno a librerie di terze parti, quindi YMMV.

Quanto della libreria PHP standard supporta?

Sembra che l'elenco delle estensioni supportate sia disponibile nella directory runtime/ext.

https://github.com/facebook/hiphop-php/tree/master/src/runtime/ext

sembra piuttosto completo, hanno anche DOP. Nessun segno del supporto di Postgres però.

+0

__Postgres IS AVAILABLE__ dal fine 2013, pls trova la mia risposta qui sotto. – Philzen

1

Dopo qualche rovistando, ho trovato this facebook post il che suggerisce che la maggior parte delle librerie sono ancora supportati

HHVM extension status

3

Un anno più tardi - ancora non svettanti come MySql, ma sembra che ci sia un modo secondo questa official HHVM blog comment reply (dal 19 dicembre 2013)

Jeremy Wilson dice: mi piacerebbe vedere Redis e PostgreSQL supporto.

(Rispondi) Simon dice: Il supporto per Redis è già disponibile e c'è un'estensione PostgreSQL che è possibile utilizzare.

... riferendosi a https://github.com/pocketRent/hhvm-pgsql

+0

E il driver Postgres di PDO? –

+0

@FractalizeR, l'estensione collegata fornisce sia il supporto 'ext/pgsql' che il supporto PDO. – Charles

+0

@Charles Sì. Ma ricordo alcuni problemi di stabilità in quello. Funziona bene ora? –