Хостинг сайтов MainHost
НАШ БЛОГ:  Поддержка PHP 7.3 info@mainhost.com.ua     +380 (542) 798-780    

Поддержка PHP 7.3

Для услуги хостинга сайтов добавлена поддержка новой версии PHP – 7.3, релиз которой состоялся 6 декабря.

В PHP 7.3 внесено ряд изменений, улучшений и новых функций, среди которых:

  • Более гибкий синтаксис Heredoc и Nowdoc. После закрывающего идентификатора в doc-строках больше не нужно ставить точку с запятой или новую строку. Кроме того, закрывающий идентификатор может быть с отступом, и в этом случае он будет удален из всех строк в doc-строке.
  • Разрешена завершающая запятая в вызовах функций. Завершающие запятые в вызовах функций и методов теперь разрешены.
  • Новый флаг JSON_THROW_ON_ERROR. Добавлен новый флаг JSON_THROW_ON_ERROR, который можно использовать с json_decode() или json_encode(). Данный флаг заставляет эти функции генерировать новое исключение JsonException при ошибке вместо установки глобального состояния ошибки, которое извлекается с помощью json_last_error(). JSON_PARTIAL_OUTPUT_ON_ERROR имеет приоритет над JSON_THROW_ON_ERROR.
  • Миграция с PCRE на PCRE2. Расширение PCRE было обновлено до PCRE2, что может привести к незначительным изменениям в поведении. Кроме того, дополнен существующий синтаксис регулярных выражений.
  • Поддержка ссылок в list(). Деструктурирование массива и функция list() теперь поддерживают присвоение по ссылкам с помощью синтаксиса [&$a, [$b, &$c]] = $d.
  • Новая функция is_countable(). Функция проверяет, является ли содержимое переменной исчисляемым значением.
  • Новые функции array_key_first() и array_key_last(). Функции для получения первого и последнего ключа массива.
  • Функция image2wbmp() объявлена устаревшей. Вместо устаревшей функции следует использовать imagewbmp().
  • Объявление нечувствительных к регистру констант признано устаревшим. Передача TRUE в качестве третьего параметра функции define() теперь генерирует предупреждение об устаревшей возможности.
  • Объявление некоторого функционала устаревшим: использование assert() внутри пространств имен, передача нестрокового параметра needle в строковые функции поиска, функция fgetss() и фильтр потока string.strip_tags, явное использование констант FILTER_FLAG_SCHEME_REQUIRED и FILTER_FLAG_HOST_REQUIRED, недокументированные функции mbereg_*().

На сайте php.net можно детально ознакомиться с новыми возможностями, нарушающими обратную совместимость изменениями и другой информацией.

Напомним, что версия PHP устанавливается в свойствах веб-домена, то есть каждому веб-домену можно назначить необходимую версию:

На данный момент нашим клиентам доступна последняя версия PHP 7.3.0 и свыше 100 расширений. Некоторые популярные расширения (например, ioncube_loader) еще недоступны для PHP 7.3 и будут добавлены позднее.

Мы рекомендуем переход на версию PHP 7.1 или выше всем нашим клиентам, так как с 1 января прекращается официальная поддержка PHP 5.6. Кроме того, переход на PHP 7 может значительно повысить скорость работы сайта.

После изменения версии PHP советуем убедиться в корректной работе своего ресурса. В случае обнаружения проблем можно незамедлительно вернуть предыдущую версию и спокойно изучить журнал ошибок.