Что именно такое HHVM и/или движки выполнения PHP?
Я читал о взломе Facebook, который привел меня к чтению о виртуальной машине Хип-хопа. Я хотел лучше понять это и не мог найти четкого определения. Википедия определяет это так: HipHop для PHP (сокращенно HipHop) описывает серию движков выполнения PHP и улучшений, созданных Facebook. Я не понимаю, что такое PHP-движки...
Итак, я предполагаю, что тогда мой вопрос таков: что именно такое "механизмы выполнения PHP?" и как именно это принесет пользу PHP приложения?
Спасибо!
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)