Что такое механизмы исполнения HHVM и / или PHP?

Я читал о взломе Facebook, который привел меня к чтению о виртуальной машине HipHop. Я хотел лучшего понимания этого и не мог найти четкого определения. Википедия определяет это как: HipHop для PHP (сокращенно как HipHop) описывает серию механизмов исполнения PHP и улучшений, созданных Facebook. Я не понимаю, что такое движки PHP...

Поэтому я думаю, что мой вопрос: что такое "механизмы исполнения PHP"? и как именно польза PHP приложений?

Спасибо!

1 ответ

Решение

Вы можете запустить свой PHP-код с помощью стандартного (Zend) движка, который вы загружаете с php.net, который прекрасно работает. Если вы загружаете WAMP, MAMP или любой другой предварительно упакованный PHP и MySQL для своих пакетов операционной системы, это то, что вы получаете.

Кроме того, вы можете запустить (большую часть [1]) свой PHP-код с помощью HipHop, который прекрасно работает.

Какой из них вы используете, должен быть фактически невидим для ваших конечных пользователей. Ваши разработчики и эксплуатационные группы должны будут знать.

Вы можете использовать HipHop, если у вас есть сайт, который получает много трафика. HipHop не поддерживает все функции PHP, но работает намного быстрее. Он также имеет некоторые новые функции, недоступные в основном дистрибутиве PHP, в основном связанные с подсказками типов. Они могут предоставить довольно привлекательные инструменты для проверки вашего кода на наличие ошибок.

Причины, по которым вы можете использовать HipHop:

  • Производительность очень важна для вас
  • Инструменты статического анализа, доступные с HipHop, имеют серьезную ценность для вашей команды
  • Новые функции в HipHop, но не в Zend PHP, привлекательны для вашей команды.

Причины, по которым вы можете использовать Zend PHP

  • Вам нужно расширение, недоступное для HipHop (существует множество расширений, подумайте: gd, curl, imagemagik и т. Д. Многие из них теперь доступны для HipHop, многие - нет).
  • Ваш код или фреймворк использует неподдерживаемые функции.
  • У вас большой опыт в размещении вашего текущего стека веб-серверов и PHP, и вы не хотите начинать с нуля.

Этот пост рассказывает о некоторых различиях HHVM и HACK и дает хороший обзор: http://www.marco.org/2014/03/21/hack

[1] Не весь код, который вы можете запустить с обычным движком PHP, в настоящее время работает на HipHop. Они работают над большинством проблем, некоторые из которых они просто решили не исправлять (я думаю, что переменные переменные могут быть примером этого, например, $$var)

Другие вопросы по тегам