Поддерживает ли HHVM (HipHop) Postgresql/ произвольные расширения pecl?
Сегодня Facebook сделал большое объявление - HHVM заменяет оригинальный хип-хоп-компилятор.
Старый HipHop имел ограниченную поддержку расширений - включая IIRC, без поддержки postgres.
Поддерживает ли HHVM все расширения pecl? Какую часть стандартной библиотеки PHP она поддерживает?
Что не поддерживает HHVM?
3 ответа
За год, с тех пор как я первоначально ответил на этот вопрос, все резко изменилось. HHVM теперь публикует список расширений. Пока они еще не встроили поддержку ext/pgsql
они указывают на это стороннее расширение, которое реализует ext/pgsql
и обеспечивает поддержку Postgres для PDO. Теперь они также публикуют документацию по написанию ваших собственных расширений.
Мой оригинальный ответ ниже. Пожалуйста, имейте в виду, что HHVM полностью заменил HipHop и что ссылки и информация ниже устарели.
Поддерживает ли HHVM все расширения pecl?
Все текущие расширения PHP неумолимо связаны с текущей базой кодов PHP, Zend API и существующей виртуальной машиной PHP.
HipHop и HHVM - это отдельные реализации языка PHP, использующие разные методы для выполнения кода PHP. Они не используют существующую кодовую базу PHP, Zend ZPI или виртуальную машину PHP. Любые существующие расширения PHP, такие как те, что размещены в PECL, не могут быть напрямую перенесены в HipHop/HHVM.
В действительности, это не столько "портирование" расширения, которое должно произойти, сколько полная переиздание. Хорошая новость, если таковая имеется, состоит в том, что многие расширения PHP - это просто тонкие вехи по сравнению с необработанным API уровня C, предоставляемые любой библиотекой, превращаемой в расширение. В зависимости от цели порт может быть очень простым. С другой стороны, не все расширения являются обертками вокруг сторонних библиотек, так что YMMV.
Какую часть стандартной библиотеки PHP она поддерживает?
Похоже, список поддерживаемых расширений можно найти в runtime/ext
каталог.
https://github.com/facebook/hiphop-php/tree/master/src/runtime/ext
Выглядит довольно всесторонне, у них даже есть PDO. Никаких признаков поддержки Postgres.
Год спустя - все еще не взлетевший, как MySql, но, похоже, есть способ, согласно этому официальному ответу на комментарий в блоге HHVM (от 19 декабря 2013 г.)
Джереми Уилсон говорит: я хотел бы видеть поддержку Redis и PostgreSQL.
(Ответ) Саймон говорит: поддержка Redis уже доступна, и вы можете использовать расширение PostgreSQL.
... ссылаясь на https://github.com/pocketRent/hhvm-pgsql
После некоторого возни, я нашел этот пост в Facebook, который предполагает, что большинство библиотек по-прежнему не поддерживаются