Что такое механизмы исполнения 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)