PHP 7 или Как ускорить сайт за минуту без регистрации и СМС
Вы наверняка в курсе, что PHP удерживает лидерство среди языков, применяющихся для создания сайтов. В конце 2019 года версия PHP 7.4 была объявлена как stable (то есть стабильно функционирующая), в то время как большинство сайтов всё ещё работают на версиях PHP 5.x. Рассказываем, почему стоит перейти на PHP 7 и какие проблемы могут возникнуть, если вы этого не сделаете.
Зачем переносить сайты на PHP 7?
Вы, возможно, скажете: «У меня и так всё прекрасно работает, зачем же что-то менять?» На это есть две главные причины.
Причина 1. Актуальность
Год назад была прекращена поддержка PHP 5.6 и 7.0. В январе 2020 года окончена поддержка версии 7.1, а в декабре прекратится поддержка PHP 7.2.
Примечание:
В данном материале под PHP 7 мы подразумеваем всю ветку 7.х, и переход даже на менее актуальную версию PHP 7 будет лучшим выбором, чем использование ветки 5.x. Прекращение поддержки версии означает, что этой версией языка можно пользоваться, но работа над ней больше не ведётся и важные обновления не выпускаются.
Если зайти на официальный сайт, можно увидеть, что поддержка каждой версии длится около двух лет с момента стабильного релиза. Это значит, что при использовании старых версий PHP вы рискуете подвергнуться уязвимостям безопасности, которые могли быть либо не исправлены, либо обнаружены уже после окончания поддержки. Имеет ли первостепенную важность для вас безопасность сайта? Если да, то переход на новую версию просто необходим — скорее обновляйтесь!
Причина 2. Скорость
Не нам вам объяснять, почему важна скорость сайта. Конечно, если вы размещаете суперполезные статьи, которых не найти больше нигде в Интернете, возможно, посетители ещё согласятся подождать пару секунд. Но вот если у вас интернет-магазин, то стоит знать, что согласно исследованию Aberdeen Group каждая секунда ожидания загрузки страницы снижает конверсию на 7%! И около 40% пользователей закрывают сайт, если он открывается дольше трёх секунд.
Но вместо страшных историй о медленной загрузке страниц давайте лучше посмотрим, насколько PHP 7 может ускорить этот процесс.
Для теста возьмём PHP-бенчмарк (эталонный тест, который обычно используется для проверки быстродействия и производительности):
https://github.com/rusoft/php-simple-benchmark-script
Но синтетические тесты не всегда показывают те же цифры, которые получаются в реальных условиях. Посмотрим, что же происходит с PHP 7 на практике.
Для следующего теста возьмем сайт на WordPress 5.3.2. Установим на него плагины WooCommerce (расширение для интернет-магазина) и Elementor (конструктор сайта), а для дополнительной нагрузки добавим тему с демо-данными Envo eCommerce. Так у нашего сайта будет наполнение, чтобы тест был максимально приближен к реальности.
Замер скорости ответа будем производить через стандартную утилиту curl и для чистоты эксперимента запустим каждый тест три раза:
PHP 5.6:
1 2 3 4 5 6 7 8 |
curl -s -w %{time_total}\\n -o /dev/null http://crazysupport.ru/ 1,259947 curl -s -w %{time_total}\\n -o /dev/null http://crazysupport.ru/ 1,209255 curl -s -w %{time_total}\\n -o /dev/null http://crazysupport.ru/ 1,241376 |
Среднее значение: 1,236 секунды.
PHP 7.3:
1 2 3 4 5 6 7 8 |
curl -s -w %{time_total}\\n -o /dev/null http://crazysupport.ru/ 0,454270 curl -s -w %{time_total}\\n -o /dev/null http://crazysupport.ru/ 0,452840 curl -s -w %{time_total}\\n -o /dev/null http://crazysupport.ru/ 0,429066 |
Среднее значение: 0,445 секунды.
Такие же цифры показывает и консоль разработчика.
То есть скорость нашего сайта выросла почти в 3 раза. Конечно, переход на PHP 7.3 не ускорит в 3 раза любой сайт, поскольку есть ряд других факторов, влияющих на быстродействие. Среди них, например, запросы к MySQL-серверу или обращения к сторонним сервисам (API). Но то, что скрипты на новых версиях PHP будут отрабатывать быстрее, — это факт.
Если PHP 7 такой быстрый, почему вы просто не включите его для всех?
Большинство популярных CMS (WordPress, Bitrix, Joomla, MODx) достаточно давно поддерживают ветку PHP 7.x, а некоторые даже настойчиво предлагают пользователю перейти на нее. Самый простой способ проверить совместимость вашего сайта с PHP 7 — включить новую версию в панели управления хостингом.
А для CMS WordPress есть специальный плагин для проверки совместимости с PHP 7 установленных вами тем и расширений — PHP Compatibility Checker. Конечно, не стоит полностью полагаться на него, но как начальный инструмент плагин очень даже пригодится.
Установите, активируйте плагин и перейдите в настройки. Выберите желаемую версию PHP и плагины/темы для проверки:
Результат будет выглядеть примерно так:
Как видно, большая часть расширений совместимы с PHP 7, но плагины Elementor и WooCommerce проверить не удалось.
Если явных ошибок нет, можно протестировать работу сайта на PHP 7. Для этого измените версию в настройках сайта с помощью панели управления по инструкции:
Подождите пару минут для перезапуска веб-сервера и проверьте все сервисы. Если какой-то функционал перестал работать, просто верните старую версию PHP. В этом случае для перехода на PHP 7 лучше всего обратиться за помощью к профессиональным веб-разработчикам.
⌘⌘⌘
Надеемся, наш материал убедил вас, почему важно следить за выходами новых версий PHP и вовремя обновлять сайт. Вы уже перешли или планируете перейти на PHP 7? Расскажите в комментариях, как это было — возможно, ваши советы помогут кому-то из пользователей.