Как обновить PHP сайта и зачем это нужно
Лучшее — враг хорошего? Мы рассмотрели, как обновить версию PHP, на которой работает ваш сайт, и для чего это нужно.
vlada_maestro / shutterstock
Актуальная версия PHP
Актуальной на сегодняшний момент считается PHP 8.1, которая превосходит в скорости и функциональности все прошлые версии.
Вот неполный список возможностей PHP 7:
- JIT-компилятор;
- аннотации и атрибуты;
- именованные параметры;
- оператор безопасного null;
- оператор выбора match.
Как обновить PHP на Windows
Здесь все очень просто и прозаично:
Скачиваем последнюю версию PHP
Удаляем старую
Устанавливаем новую.
Прописываем заново настройки в Apache и PHP.
Но прежде чем обновлять, нужно внимательно изучить раздел Appendices в документации к новой версии. В нем описывается устаревший функционал, который больше не применяется в языке. Новые версии не поддерживают старый код: особенно трудна миграция с пятой на седьмую, у которой очень слабая обратная совместимость.
Если разработчик использует неподдерживаемые функции, то кусок кода, в котором они есть, просто не заработает. Поэтому перед обновлением нужно серьезно проанализировать этот раздел и в соответствии с ним — свой код.
Зачем обновлять, если все работает
Резонный вопрос, которым задаются многие программисты. Если не обновлять язык на собственном сервере, вы просто лишаете себя преимуществ и возможностей очередной версии.
В каждом релизе PHP появляются новые фишки и функции, а также закрываются уязвимости. Например, is_countable позволяет определить тип переменной — перечисляемый или нет. Это очень удобная возможность для веб-разработчиков. Сейчас приходится использовать для определения типа переменной if, а в PHP 8.1 это можно будет сделать одной функцией.
Однако обновление версии PHP — это болезненный процесс для команды разработки, означающий многодневный рефакторинг кода и исправление ошибок — всё из-за проблем с обратной совместимостью в этом языке. Ранее установленные плагины и скрипты могут конфликтовать с новой версией, работать некорректно или не подключаться вообще, добавляя головной боли разработчикам.
Веб-сервис W3Techs провёл опрос и выяснил, какие версии чаще всего используют PHP-разработчики. В начале февраля 2022 года ситуация выглядела вот так:
Как видите, самую последнюю версию используют очень немногие. Консервативное большинство остается верным надежным технологиям — от 5 до 7 версий.
Обновлять или не обновлять: вот в чем вопрос
Мы скажем так: Святого Грааля в проблеме обновления нет. Подходить к нему нужно с позиции целесообразности. Большой проект перевести на PHP 8 будет сложно: придется рефакторить всю кодовую базу, но ради чего? Любое изменение должно исходить из рабочей потребности.
Если проблем с поддержанием работоспособности сайта и скоростью загрузки нет, то переход на более современную версию — лишняя трата времени и средств. Если разработчикам всего хватает в функционале — в обновлении тоже нет смысла. Переход на новую версию не должен обосновываться тем, что это круто, модно и молодежно.
На старых сайтах, где сплошной легаси, разработчикам вообще страшно что-либо менять, так как велик риск все случайно поломать. Проект стабильно работает, а значит, изменения ни к чему. Зато разработку новых сайтов однозначно нужно начинать с установки последней версии языка.