Статьи

HHVM 3.1.0 выпущен

Команда HHVM только что выпустила версию 3.1.0.

Команда сосредоточилась на большей части очистки репозитория Github, исправлении ошибок и открытых проблем, но появились и новые функции. Этот выпуск обеспечивает более тесную синхронизацию HHVM с PHP 5.6., Функции которого мы уже писали ранее .

Основные моменты включают реализацию функциональности $...args , 400 настраиваемых ini-настроек, и — что мне показалось наиболее интересным — улучшения на уровне совместимости Zend Extension . Этот слой позволит создавать существующие расширения PHP с HHVM, с небольшими изменениями, необходимыми в исходном коде. Надеемся, что со временем уровень будет в таком состоянии, чтобы обеспечить плавный переход расширений.

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

Полный список изменений, как указано в оригинальном сообщении о выпуске, но с некоторыми добавленными ссылками и объяснением или двумя:

«Канье Вест»

  • Исправление Backport для CVE-2011-2202
  • Interfaces {Keyed} Контейнер сопоставляет массивы и коллекции, а не итерируемые
  • Добавлены операторы ****=
  • Исправления и улучшения в коллекциях
  • Замените декодер json библиотекой json-c
  • Документ VMRegAnchor и isVMFrame ()
  • Улучшения в массиве кода итератора
  • Улучшения проверки типов
  • Разрешить генерировать парсер с бизоном 3
  • Улучшения и скорость до отражения кода

«Jay-Z» 9 мая 2014

  • Сделайте обработку переполнений code.hot более надежной
  • Ловите ошибки сервера раньше
  • Исправить segfault и бесконечную рекурсию в расширении fileinfo
  • Разрешить константы systemlib во время компиляции
  • Возобновить резюме изначально
  • Импорт оптимизаций круглого стола из php-src
  • Удалить байт-код Оптимизатор глазка
  • Удалите большую часть annotation.cpp и некоторый другой код!
  • Создать phis для местных жителей
  • Устранить «» в rfc1867PostHandler
  • Добавить firstValue (), firstKey (), lastValue (), lastKey () в коллекции
  • Добавить concat () в коллекции
  • Разъяснить лицензию Hack
  • Добавить CakePHP3 для тестового бегуна
  • Лучшая ошибка, когда TC заполнен
  • Добавить hash_equals () из PHP 5.6

«Безумная поэзия» 24-апр-2014

  • Поддержка PHP 5.6 variadic… синтаксиса $ args для объявлений func
  • HHMeasure с открытым исходным кодом , простой и расширяемый инструмент микробенчмаркинга
  • Добавлен новый профилировщик выборки на основе времени ( Project Xenon )
  • Исправление обработки Unicode PCRE
  • Конвертировать слой совместимости Zend и различные расширения в HNI
  • Кодировать режим выполнения (нетерпеливый или возобновленный) в SrcKey
  • Объединение готовых и возобновленных частей асинхронных функций
  • Пересмотр различных инструкций асинхронного / продолжения байт-кода

«Дом PHPain» 1-Апр-2014

  • Разрешить прямую передачу аргументов до 15 параметров (7, если хотя бы один является двойным)

Если вы один из тех, кому нравится читать самые свежие из журналов изменений, здесь вы найдете полную версию.

Если вы хотите попробовать новый HHVM, я создал Vagrantfile, который запустит его и запустит для вас в считанные минуты, не загрязняя ваш хост-компьютер ненужными временами выполнения.

Просто клонируйте этот репозиторий, и вы получите самую последнюю версию HHVM, установленную в Ubuntu 14.04., С Nginx в качестве сервера и установленной рабочей базой данных MySQL. Vagrantfile был создан с помощью PuPHPet, но отредактирован дополнительно.

Чтобы убедиться, что вы используете последнюю версию HHVM (ту, которая включает Hack и обновления 3.1.0.), Просто проверьте версию PHP — исполняемый файл HHVM заменил обычный PHP и может вызываться напрямую:

Обратите внимание, что я еще не полностью настроил репозиторий, чтобы его можно было использовать «из коробки», поэтому вам нужно сначала поиграться с конфигурацией Nginx Vhost, чтобы он читал файлы PHP. Я также еще не активировал удаленные подключения MySQL на этом устройстве, но это произойдет, и я соответствующим образом обновлю этот пост.

Вы используете HHVM в производстве? Играя с этим по крайней мере? Дайте нам знать — мы заинтересованы в публикации расширенных примеров использования HHVM и Hack.