Что именно такое HHVM и/или движки выполнения PHP?


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

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

Спасибо!

Author: rambossa, 2014-03-24

1 answers

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

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

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

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

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

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

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

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

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

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

 9
Author: preinheimer, 2014-03-24 21:39:11