AccuWebHosting представляет хостинг PHP 7
Опубликовано: 2015-12-07Команда разработчиков PHP положила конец долгому ожиданию WebMaster, объявив о немедленной доступности PHP 7. PHP 7, следующая версия самого популярного в мире языка сценариев (на котором работает 81% Интернета), наконец, была выпущена 3 декабря 2015 года.
После восьми лет работы и нескольких недель задержки с выпуском PHP 7 наконец-то доступен для скачивания. Пользователи Windows могут скачать бинарные файлы PHP 7 для Windows отсюда. В последнюю версию PHP внесено много изменений, поэтому PHP 7, безусловно, не имеет обратной совместимости с существующим унаследованным кодом PHP 4, хотя он должен без проблем работать с кодом PHP 5.x. Чтобы проверить внесенные изменения в PHP 7, обратитесь к журналу изменений.
Основные преимущества PHP 7
PHP 7 имеет минимальные изменения синтаксиса и уделяет больше внимания повышению производительности. За последние несколько месяцев было выполнено несколько тестов PHP 7, и было заявлено, что PHP 7 почти на 200% быстрее своего предшественника (PHP 5.x).
PHP 7 будет работать на новейшем движке, а именно PHPNG (PHP Next Generation) , конкурирующем с такими интерпретаторами, как HHVM от Facebook. HHVM уже много лет превосходит PHP, что побуждает команду разработчиков PHP 7 повышать квалификацию. Благодаря PHPNG основной движок PHP 7 теперь более оптимизирован для процессора и памяти.
Основываясь на тестах, выполненных на PHP 7, движок PHPNG вдвое снижает использование памяти и ЦП по сравнению с последними версиями 5.6.
Здесь мы обсудим некоторые из самых интересных новых функций, которые станут доступны при обновлении до PHP 7.
Новые операторы
PHP 7 поставляется с двумя новыми операторами, а именно космическим кораблем (или комбинированным оператором сравнения) и оператором объединения с нулевым значением.
Оператор космического корабля ( <=> ) используется, чтобы сделать ваше цепочное сравнение более кратким. Например:
$var1 <=> $var2
Это выражение оценивается как:
-1, если $var1 меньше, чем $var2, 0, если $var1 равно $var2, и 1, если $var1 больше, чем $var2,
который в основном является ярлыком для следующего выражения:
($var1 < $var2) ? -1 : (($var1 > $var2) ? 1 : 0)
Оператор объединения со значением NULL ( ?? ) можно использовать как сокращение для общего случая использования. Например, с PHP 5.x вы должны сделать что-то вроде этого:
$var1 = isset($var2) ? $var2 : "по умолчанию";
То же самое выражение может быть записано с нулевым оператором объединения в PHP 7 следующим образом:
$var1 = $var2 ?? "дефолт";
Подсказки скалярного типа
Scalar Type Hints — одна из самых ярких функций последней версии PHP. Вы можете использовать целые числа, числа с плавающей запятой, строки и логические значения в качестве подсказок типа для функций и методов. Другими словами, когда вы передаете значение с плавающей запятой целочисленному параметру, подсказки скалярного типа просто приведут его к целочисленному значению, не генерируя никаких ошибок или предупреждений. Однако, когда включен строгий режим, он будет выдавать ошибки, когда в качестве аргумента передается неправильный тип.
<?php функция двойная (int $value) { вернуть 2 * $значение; } $вар = двойной ("8"); var_dump($вар);
Приведенный выше код не будет генерировать никаких ошибок, если строгий режим отключен. Кроме того, строка «8», переданная в качестве аргумента, будет преобразована в целое число внутри функции double. Если мы включим строгий режим, включив директиву declare(strict_types = 1) в самую первую строку приведенного выше кода, функции double будет разрешено передавать только целые числа.
< ?php объявить (строгие_типы = 1); функция двойная (int $value) { вернуть 2 * $значение; } $вар = двойной ("8"); var_dump($вар);
Когда строгий режим включен, приведенный выше код будет генерировать фатальную ошибку.
Подсказки возвращаемого типа
Подсказки типа возвращаемого значения позволяют определить возвращаемый тип методов и функций. Он ведет себя так же, как подсказки скалярного типа с точки зрения приведения и строгого режима:
< ?php функция a() : логическое значение { вернуть 1; } var_dump(а());
При выполнении приведенного выше кода возвращаемое значение будет автоматически преобразовано в bool без каких-либо ошибок и предупреждений. При включении строгого режима выдается фатальная ошибка.
HHVM против PHP 7
HHVM — это виртуальная машина, созданная разработчиками Facebook для выполнения приложений PHP. В 2008 году команда Facebook разработала инструмент для преобразования PHP-скрипта в C++, чтобы его можно было компилировать и выполнять на веб-серверах. Основная цель состояла в том, чтобы снизить использование ресурсов сервера и разместить в пять-шесть раз больше трафика, чем фактическая мощность сервера. Чтобы преодолеть эти проблемы, Facebook разработал виртуальную машину HipHop (HHVM). Это изменение увеличило пропускную способность сервера, чтобы справиться с увеличением веб-трафика на 500–600 %.
В этот момент вы можете спросить: «Что делает HHVM таким быстрым?»
Вместо компиляции PHP-кода в C++ HHVM использовала компиляцию Just-In-Time (JIT) для преобразования PHP-кода в промежуточный байт-код. Затем этот байт-код транслируется в машинный код x64. Теперь на сцену выходит JIT-компилятор, который динамически запускает перевод во время выполнения, допуская все возможные оптимизации. В результате производительность ваших PHP-приложений резко повысится.
PHP 7 или PHPNG — настоящий конкурент и ответ сообщества на виртуальную машину HipHop. HHVM явно превосходит предыдущие версии PHP, но недавние тесты производительности показывают, что PHP 7 немного быстрее, чем HHVM в определенных ситуациях. Давайте взглянем на результаты сравнительного тестирования, проведенного ZEND для некоторых популярных приложений, таких как WordPress, Magento и Drupal:
Magento HHVM 3.7 против PHP 7
Как следует из приведенной ниже диаграммы, вы можете выполнять в 3 раза больше запросов к серверу каталогов Magento на том же оборудовании, а PHP 7 использует на 30% меньше памяти.
Источник: www.zend.com
WordPress HHVM 3.7 против PHP 7
Согласно показанным результатам, между HHVM 3.7 и PHP 7 нет большой разницы. Самый интересный факт заключается в том, что PHP 7 использует всего 25% серверных исполнений по сравнению с PHP 5.6. Таким образом, серверы одинаковой мощности смогут обслуживать большее количество пользователей.
Источник: www.zend.com
Drupal HHVM 3.7 против PHP 7
Диаграмма показывает, что PHP 7 значительно быстрее, чем HVVM, и, что интересно, Drupal 8 работает на 72% быстрее на PHP 7 по сравнению с PHP 5.6.
Источник: www.zend.com
Другие тесты
Вы также можете обратиться к бенчмаркам, выполненным Расмусом Лердорфом из PHP Australia. Используйте клавиши со стрелками для перемещения по слайдам.
С чем мне пойти?
До PHP 7 или PHPNG HHVM определенно работал быстрее, чем пакеты PHP-Zend для всех версий PHP. PHP 7 продемонстрировал лучшую производительность по сравнению с HHVM для большинства скриптов в большинстве тестов.
Крупные веб-сайты, такие как Etsy и Wikimedia Foundation, используют HHVM, но для полного перехода с пакета PHP-Zend на пакет PHP-HHVM потребовалось более шести месяцев. Другими словами, переход с пакета PHP-Zend на пакет PHP-HHVM не является задачей за одну ночь. Для владельцев небольших веб-сайтов переход на PHP 7 будет намного проще по сравнению со сложным переходом на HHVM, который требует большего опыта.
Хостинг PHP 7 от AccuWebHosting
Неудивительно, что AccuWebHosting является одним из первых веб-хостингов, предлагающих хостинг PHP 7. Наша восторженная команда тестировщиков долго ждала последней версии PHP. На следующий день после выпуска PHP 7 команда воспользовалась возможностью протестировать PHP 7 на нашей инфраструктуре веб-хостинга.
Мы рады предложить поддержку PHP 7 как для Linux Shared SSD Hosting, так и для планов WordPress Hosting.
AccuWebHosting предоставляет подключаемый модуль конфигурации PHP для планов Linux Shared/Reseller, позволяющий клиентам устанавливать версию PHP 7 для каталогов и доменов. Наши клиенты Linux Shared SSD Hosting и WordPress Hosting могут использовать следующие статьи, чтобы перейти со своей старой версии PHP на 7:
Изменить версию PHP из cPanel
Поддержка PHP 7 на выделенном сервере
- При наличии выделенного сервера Windows команда AccuWebHosting установит и настроит PHP 7 по требованию.
- В настоящее время cPanel/WHM не поддерживает PHP 7, поэтому будет невозможно использовать PHP 7 на выделенных cPanel серверах, если только не используется операционная система CloudLinux. Как только cPanel/WHM начнет поддерживать PHP 7, его можно будет добавить через WHM EasyApache.
- Выделенный сервер Linux (без cPanel) клиенты могут установить и настроить PHP 7 в соответствии со своими требованиями.
Поддержка PHP 7 на Windows VPS
Все наши планы Windows VPS поддерживают PHP 7. Клиентам Windows VPS необходимо будет отправить билет, чтобы установить и настроить PHP 7.
Поддержка PHP 7 на Linux VPS
Клиенты Linux VPS (без cPanel) могут установить и настроить PHP 7 в соответствии со своими требованиями. Поскольку cPanel не поддерживает PHP 7, клиентам cPanel VPS необходимо подождать, пока cPanel не развернет поддержку PHP 7. Как только cPanel начнет поддерживать PHP 7, ее можно будет добавить через EasyApache.