Индустрия
В то же время мы отдаем себе отчет, что риск использования устаревших версий PHP — это не только слабая производительность и бедный функционал, но и потенциальные уязвимости, которые могут возникнуть в любой момент и обойтись владельцу сайта очень дорого. Если не подталкивать своих клиентов к обновлению хотя бы до PHP 5.6, то в случае появления уязвимости, к примеру, в PHP 5.2, за ней может последовать взлом тысяч сайтов и обвинения в использовании небезопасного софта. Поэтому начиная с новой версии Plesk Onyx 17.8, которая вышла в начале марта 2018, устаревшие версии PHP помечены в интерфейсе как Outdated.
Мы решили, что полностью прекратить поддержку старого PHP можно только убедившись, что процент работающих на нем сайтов пренебрежимо мал – в таком случае этот шаг не вызовет фрустрацию среди сколь угодно значимой части пользовательской аудитории. С этой целью мы провели статистическое исследование, призванное определить, какие версии PHP наиболее популярны среди пользователей Plesk. Его результатами — весьма, на наш взгляд, любопытными — мы и хотим поделиться.
Информацию о том, на каком PHP работают сайты наших клиентов, мы начали анализировать относительно недавно. Она собирается для двух последних релизов Plesk Onyx и охватывает около 15% сайтов, работающих на этих версиях Plesk. В статистику не вошли старые версии Plesk, где, возможно, используется более старый РНР, но это не кажется нам большой проблемой. Собранная информация о предпочтениях людей, использующих последние версии Plesk (а значит, являющихся самой лояльной к продукту частью аудитории), сама по себе является крайне показательной. Заставить обновиться тех, кто использует неподдерживаемые версии продукта на неподдерживаемых осях, мы не можем – более того, в их ситуации старый PHP, скорее всего, не самая большая беда. Рано или поздно эти пользователи перейдут на новые версии Plesk, и тогда их сайты окажутся доступными для нашей аналитики.
На текущий момент самыми свежими версиями РНР являются версии 7.1 и 7.2. Они активно поддерживаются производителем, что подразумевает регулярные обновления с багфиксами и исправлениями обнаруженных уязвимостей. Версии 5.6 и 7.0 помечены вендором как security fixes only – чинятся только критичные проблемы с безопасностью. Наконец, PHP 5.4 и 5.5 не поддерживаются ни в каком виде с 2016 года, их пользователям рекомендуется как можно скорее перейти на более свежие версии во избежание возможных проблем с безопасностью сайтов. Давайте посмотрим, насколько соблюдаются эти рекомендации и чего пользователи боятся сильнее – обновить РНР или стать жертвой очередной уязвимости.
Соотношение версий PHP по всем попавшим в выборку сайтам, работающим на Plesk, на начало марта 2018 выглядело так:
Как видно, в целом дела обстоят не блестяще – рекомендуемые вендором версии не попали в топ – более того, они вообще оказались в хвосте. Следующий логичный вопрос: насколько эта картина отличается от страны к стране? Самыми крупными странами, где популярность Plesk традиционно высока, являются Германия, США и Испания. С них и начнем.
Германия
Германия с обновлением PHP не спешит – тройку лидеров в этой стране сформировали PHP 5.5 (33% сайтов), PHP 5.6 (24%) и PHP 7.0 (13%). На рекомендуемых версиях 7.1 и 7.2 работает лишь 8% сайтов.
США
Соединенные Штаты на первый взгляд могут показаться ещё более консервативными. На первом месте вышел PHP 5.4 (28%), но ему в спину дышит РНР 5.6, сравнительная доля которого выше, чем в Германии – 27%. Интересно, что наиболее популярная в Германии версия 5.5 в США используется только на 7% сайтов.
Испания
В Испании всё несколько бодрее: 36% сайтов работают на PHP 5.6 – не самой свежей, но хотя бы поддерживаемой версии. Второе место у PHP 5.4 (22%), третье – уже традиционно за версией 7.0 (14%).
Любопытно, что в каждой из этих трёх стран первое место в рейтинге популярности принадлежало разным версиям. Это навело нас на мысль составить сводную таблицу, где каждой стране выборки соответствует наиболее популярная в ней версия РНР. Результаты перед вами:
Country | Most popular PHP version |
---|---|
Australia | 5.6 |
Austria | 5.6 |
Belarus | 5.6 |
Brazil | 5.6 |
Canada | 5.6 |
China | 4.4 |
Czech Republic | 5.6 |
Denmark | 7.0 |
Estonia | 5.6 |
Finland | 5.3 |
France | 5.6 |
Germany | 5.5 |
Great Britain | 5.6 |
Greece | 5.3 |
India | 5.4 |
Iran | 5.6 |
Italy | 5.6 |
Japan | 5.3 |
Kazakhstan | 5.5 |
Korea | 7.0 |
Latvia | 5.4 |
Lithuania | 7.1 |
Mexico | 5.4 |
Netherlands | 5.6 |
Norway | 5.6 |
Poland | 5.6 |
Romania | 5.6 |
Russia | 5.4 |
Spain | 5.6 |
Sweden | 5.6 |
Turkey | 5.4 |
Ukraine | 5.4 |
United States | 5.4 |
В номинации «Самая продвинутая страна» победила Литва – больше всего сайтов (38%) работают на версии 7.1! Повторить свой успех где-либо ещё PHP 7.1 пока не удалось – во всех остальных странах ни версия 7.1, ни версия 7.2 не поднялась выше 4 места.
Следующими в рейтинге “продвинутости” являются Южная Корея и Дания, где самой популярной версией PHP является 7.0 (51% и 34% соответственно). Эта версия PHP оказалась на втором месте в Нидерландах (19%), Австрии (17%) и Чехии (13%), уступая пальму первенства лишь PHP 5.6 (кстати, в Чехии на 5.6 работают целых 65% сайтов).
Что же творится в России? Увы, устаревший и небезопасный PHP – реальность и в нашей стране. Первенство с большим отрывом за PHP 5.4 (45%), аналогичная ситуация с украинскими сайтами (24%), а вот Беларусь оказалась более современной – на первом месте PHP 5.6 (40%). В Казахстане первое место занимает PHP 5.5 (32%).
Ещё хуже обстоят дела в Японии и Греции – там лидирует PHP 5.3 (30% и 37% от всех сайтов соответственно). Но самым консервативным оказался Китай: 44% сайтов здесь работают на PHP 4.4! Такого мы не встретили больше ни в одной стране.
Всего же в Китае на устаревших версиях РНР работает 77% сайтов. По этому показателю его опережает только Мексика – 78%. На третьем месте Россия (67% сайтов), замыкают же топ-5 поклонников старого РНР Казахстан (65%) и Япония (63%).
Рейтинг самых сознательных стран с наибольшей долей сайтов на свежем PHP (5.6 и новее) возглавляет Южная Корея – 85% сайтов. Второе место у Чехии (84%), третье – у Швеции (83%), дальше разрыв начинает расти – на четвертом месте Иран (73%), на пятом – Дания (69%).
Приведённая статистика наглядно свидетельствует, что говорить о прекращении поддержки версий PHP старее 5.6 пока рано – и не только в России. В то же время, как уже говорилось в начале статьи, мягко подталкивать людей в этом направлении определенно стоит. Со своей стороны, Plesk старается сделать переход на новый PHP как можно более комфортным и безболезненным. Предупреждая об устаревшем PHP, мы делаем следующее:
- учитываем в настройках по умолчанию, какой PHP поставляется вендором операционной системы;
- если производитель ОС предоставляет не самую последнюю версию РНР, дополняем комплект РНР-хэндлеров и предоставляем полный комплект, включая старые и новые версии;
- на новых инсталляциях предлагаем актуальные версии PHP (но не переключаем на них автоматом при обновлении со старых версий Plesk, чтобы не сломать работающие сайты).
Эти шаги уже начинают приносить плоды – за месяц, пока писалась эта статья, в общей выборке по всем странам на третье место вышел PHP 7.0, вытеснив из тройки лидеров PHP 5.5. Это значит, что мы идём в правильном направлении – надеемся, что все остальные будут двигаться в сторону безопасного web’a вместе с нами. Если у вас есть причины, по которым вы предпочитаете старый PHP новому, пожалуйста, поделитесь ими в комментариях.
Автор: belzoya