- Старые версии PHP
- PHP 5.6 и PHP 7.0 Конец жизни
- Почему медленное принятие новых версий?
- 1. Безопасность
- 2. Производительность
- 3. Поддержка
- 4. Новые функции для разработчиков
- Убедитесь, что ваш хост поддерживает последние версии PHP
- Проверьте текущую версию PHP
- 1. Проверьте версию PHP с Pingdom
- 2. Проверьте версию PHP с файлом
- Шаг 1
- Шаг 2
- Шаг 3
- Что должны делать менее опытные пользователи или те, у кого нет бюджета?
- Обновите PHP с помощью Kinsta
- Обновление PHP из cPanel
- Обновление PHP вручную на сервере
- Резюме
PHP сегодня является одним из самых популярных языков сценариев в сети. В соответствии с W3Techs PHP используют более 78% всех веб-сайтов , использующих язык программирования на стороне сервера. Это означает, что почти каждый 8 из 10 посещаемых вами веб-сайтов, скорее всего, использует PHP в той или иной форме, что также означает, что PHP не умер , И, конечно, он играет очень важную роль, поскольку он относится к экосистеме WordPress, поскольку вся CMS построена на PHP.
Дилемма, с которой мы сталкиваемся сегодня, заключается в том, что многие компании, разработчики и хосты отстают, когда речь заходит о поддержке последних версий PHP. Некоторые из приведенных ниже статистических данных могут даже шокировать вас. Сегодня мы хотим обсудить некоторые причины, по которым так важно, чтобы все использовали последние версии PHP не только по соображениям безопасности, но и для повышения производительности и поддержки.
Старые версии PHP
Как и в любом другом программном обеспечении, PHP имеет жизненный цикл релиза, в котором он должен придерживаться, чтобы продолжать продвигать вещи и вносить улучшения. Каждый основной выпуск PHP обычно полностью поддерживается в течение двух лет после его выпуска. В течение этого времени ошибки и проблемы безопасности исправляются и исправляются на регулярной основе.
Поддерживаемые версии PHP для WordPress
PHP 5.6 и PHP 7.0 Конец жизни
По состоянию на 3 декабря 2018 года PHP 7.0 достиг конца своей жизни. Это означает, что у него больше не будет поддержки безопасности, и он может подвергаться незащищенным уязвимостям безопасности. Следуя этому примеру, по состоянию на 31 декабря 2018 года PHP 5.6 также достиг конца своей жизни. Это официально знаменует собой конец эпохи PHP 5, так как первая версия 5.0 была запущена 14 лет назад.
По словам чиновника Статистика WordPress На момент написания этой статьи более 57% пользователей WordPress все еще работают на PHP 5.6 или ниже . Если вы объедините это с PHP 7.0, колоссальные 77,5% пользователей в настоящее время используют версии PHP, которые больше не поддерживаются по состоянию на январь 2019 года.
Еще страшнее, если вы посмотрите на статистику вне сообщества WordPress. В соответствии с W3Techs PHP 5 в настоящее время используется 73,1% всех сайтов, которые используют PHP.
Это не только плохо с точки зрения безопасности, но и потому, что все еще существует большая часть сайтов WordPress, которые не пользуются дополнительными улучшениями производительности в PHP 7.
WordPress PHP версия Статистика
Почему медленное принятие новых версий?
Основная причина отсутствия более быстрого принятия новых версий, скорее всего, сводится к нескольким различным факторам:
- Причина, по которой мы видим новых клиентов, переходящих на Kinsta, заключается в том, что владельцы бизнеса не знают и не заботятся о своей версии PHP. Это, конечно, понятно в некоторых случаях, так как мы не ожидаем, что все это знают. Часто эта ответственность ложится на разработчика, агентство или хозяина.
- Разработчикам требуется время, чтобы обновить свой код для поддержки более новых версий PHP. Это включает в себя тех, кто разрабатывает сайты, темы, плагины и т. Д.
- Это не только требует усилий и времени для обновления кода, но также может потребовать обширного тестирования для обеспечения совместимости. Только в хранилище WordPress есть более 49 000 плагинов!
- Многие хосты WordPress неохотно выпускают обновленные версии PHP, потому что это может привести к дополнительным запросам поддержки, если это сломает сайт. Как хост WordPress, мы определенно понимаем это, но, как показывает наш опыт, обычно все наоборот. Многие проблемы поддержки, которые мы видим, связаны с проблемами, вызванными старыми версиями PHP.
- Разработчик или агентство может оказаться в затруднительном положении, когда имеешь дело с клиентом и другими сторонними приложениями, которые они не хотят тратить на обновление ресурсов .
Тем не менее, несмотря на все сказанное, это не является оправданием для запуска версий PHP, которые устарели, не поддерживаются и фактически могут замедлить работу вашего сайта WordPress. Хорошей новостью является то, что достигнут определенный прогресс. Jordi Boggiano, соучредитель Private Packagist, каждый год составляет отчет о Статистика использования PHP , И как вы можете видеть ниже, есть некоторое движение вперед. Это, конечно, всего лишь пример подмножества установок Composer, но все же интересно увидеть изменения.
Статистика использования PHP - составлено Джорди Богджано
Ниже приведены некоторые причины, по которым вам следует подумать об обновлении, если вы этого еще не сделали.
1. Безопасность
Одна из наиболее важных причин для обновления PHP - убедиться, что вы используете версию, которая полностью поддерживается и регулярно исправляется на предмет уязвимостей безопасности . PHP 5.4 имеет не был исправлен с 2015 года. И PHP 5.5 не обновлялся с 2016 года. Важно отметить, что некоторые поставщики операционных систем по-прежнему обновляют более старые версии PHP, если они их включили.
В соответствии с CVE Подробности 2016 год стал одним из худших для уязвимостей в безопасности PHP, и было зарегистрировано более 100 проблем. К ним относятся DoS, выполнение кода, переполнение, повреждение памяти, XSS, обратный путь в каталогах, обходы и типы получения информации. 2017 был третьим худшим годом с 2000 года с более чем 40 уязвимостями.
Уязвимости безопасности в PHP по годам
Даже сами PHP дают некоторые отзывы о том, как оставаться в курсе:
PHP, как и любая другая большая система, находится под постоянным контролем и улучшением. Каждая новая версия часто включает в себя как основные, так и незначительные изменения для повышения безопасности и исправления любых недостатков , ошибок конфигурации и других проблем, которые влияют на общую безопасность и стабильность вашей системы. Как и другие языки и программы на системном уровне, лучший подход - часто обновлять и поддерживать осведомленность о последних версиях и их изменениях. PHP, Сохраняя текущий
2. Производительность
С выпуском PHP 7.2 а также PHP 7.3 пришел огромный прирост производительности! На самом деле настолько большой, что это должно быть приоритетом над множеством небольших оптимизаций, с которыми вы можете поиграть на своем сайте WordPress. Следующие тесты продемонстрировать значительные улучшения производительности с PHP 7 по сравнению с предыдущими итерациями. PHP 7 позволяет системе выполнять вдвое больше запросов в секунду по сравнению с PHP 5.6, почти с половиной задержки.
Тесты PHP Расмуса Лердорфа, PHP Fluent Talk
Мы также запустили наш собственный Тесты PHP , И, как и в приведенных выше тестах, мы увидели, что PHP 7.3 может выполнять почти в три раза больше транзакций (запросов) в секунду по сравнению с PHP 5.6. PHP 7.3 также в среднем на 9% быстрее, чем PHP 7.2.
Тесты WordPress 5.0 PHP
- Тест WordPress 5.0 PHP 5.6: 91,64 рэк / сек
- Результаты тестов WordPress 5.0 PHP 7.0: 206,71 рэк / сек
- Результаты тестов WordPress 5.0 PHP 7.1: 210,98 рэк / сек
- Результаты тестов WordPress 5.0 PHP 7.2: 229,18 рэк / сек
- Результаты тестов WordPress 5.0 PHP 7.3: 253,20 запросов / сек.
Кристиан Виг также опубликовал Сравнение производительности PHP в котором он обнаружил, что PHP 5.2 был на 400% медленнее, чем PHP 7.
Сравнение результатов теста CPU
3. Поддержка
Поддержка - это еще одна причина, по которой вы хотите использовать самые последние и поддерживаемые версии PHP. Много раз разработчики плагинов и тем могут до сих пор расширять поддержку только для старых версий. Это связано с нехваткой времени и отсутствием времени для проверки совместимости. Когда вы работаете на старых версиях, все пойдет не так, и вы увидите, как это происходит из первых рук на форумах WordPress. Вот распространенная ошибка, которая обычно вызывается более старой версией PHP и как она обрабатывает определенную функцию:
Ошибка разбора: синтаксическая ошибка, неожиданное '' (T_VARIABLE), ожидающая функция (T_FUNCTION) в /pub/file.php в строке xxx
Вы можете выполнить поиск на форумах WordPress для « неожиданный T_Function »И возвращает более 2000 потоков, многие с результатами за последние пару дней. Вот только несколько последних из-за использования старых версий PHP:
Многие из этих потоков открываются из-за того, что они работают на устаревших версиях PHP. Однако то же самое можно сказать и об открытых потоках из-за проблем совместимости с PHP 7. Это показывает, что сообщество разработчиков WordPress все еще пытается догнать новые версии PHP.
4. Новые функции для разработчиков
Большинство разработчиков WordPress предпочли бы работать только с новыми версиями PHP, если бы могли, просто из-за того, что было добавлено так много новых функций между PHP 5.2 и PHP 7.3 , Несколько изменений в PHP 7 и 7.3:
- Комбинированный оператор сравнения
- Нулевой оператор объединения
- Новый тип хинтинга
- Анонимные занятия
- Обнуляемые типы
- Повторяемые и недействительные возвраты
- Обработка исключений с несколькими перехватами
- Ключи, используемые в списках
- Более отрицательные смещения строк
- Числовые операторы и искаженные числа
- HTTP / 2 сервер push
Не интересно поддерживать старые версии чего-либо. К сожалению, многие разработчики не могут поддерживать широкий спектр версий.
Убедитесь, что ваш хост поддерживает последние версии PHP
Прошло некоторое время, но официальный Требования WordPress.org Теперь порекомендуйте хост с PHP версии 7 или выше.
Йоаст недавно опубликовал замечательную статью под названием « Взбивание вашего хозяина в форму В этой статье Йуст де Вальк подробно рассказывает о том, что реальная проблема заключается в том, что хостинг-провайдеры не принимают это быстрее, и даже если они это делают, они не поощряют пользователей к обновлению. И Йоаст собирается что-то с этим сделать. Начиная с Yoast SEO 4.5, они начнут показывать уведомление на панели инструментов WordPress для сайтов, работающих на PHP 5.2. Это уведомление будет большим, безобразным и недопустимым.
Если бы мы могли дать Йоасту высокую пятерку, мы бы полностью! Kinsta поддерживает последние стабильные версии PHP 7.2 и 7.3 с момента их стабильных выпусков.
Фактически, каждая свежая версия WordPress, установленная здесь, в Kinsta, по умолчанию использует PHP 7.3. И PHP 5.6 - это минимальная версия, которую мы разрешаем в нашей среде. Примечание: мы скоро выпустим PHP 5.6 и 7.0. Мы не размещаем и не будем размещать сайты WordPress, которые работают на неподдерживаемой версии PHP . Мы призываем людей перейти на 7.3 для лучшей производительности.
Если ваш хост WordPress тянет свои пятки, чтобы выпускать новые версии PHP, мы настоятельно рекомендуем вам искать новый хост. Не стесняйтесь связаться с нами чтобы увидеть, как мы можем помочь.
Проверьте текущую версию PHP
Возможно, вы не знаете, какая версия PHP используется на вашем сайте WordPress. Проверьте эти различные способы ниже, чтобы узнать.
1. Проверьте версию PHP с Pingdom
Один из самых простых способов проверить, какую версию PHP вы используете, - использовать такой инструмент, как Pingdom или Google Chrome Devtools. Первый заголовок HTTP-запроса обычно показывает версию.
Проверьте версию PHP в Pingdom
Это зависит от того, что хост не изменяет значение заголовка X-Powered-By. Некоторые могут лишить это из-за проблем безопасности. Если они это сделают, вы можете не увидеть свою версию PHP, в этом случае вам нужно будет использовать второй вариант ниже. Или вы всегда можете обратиться к хозяину и спросить.
2. Проверьте версию PHP с файлом
Вы также можете проверить версию PHP, загрузив файл через FTP на ваш сервер.
Шаг 1
Создайте пустой файл с именем phpinfo.php. В файле вставьте следующее содержимое:
<? php echo 'Текущая версия PHP:'. phpversion (); ?>
Шаг 2
Загрузите файл в корень вашего сайта WordPress.
Загрузить файл phpinfo.php
Шаг 3
Затем перейдите к местоположению вашего файла, domain.com/phpinfo.php. Затем вы должны увидеть показания вашей текущей версии PHP.
Проверьте версию PHP в браузере
Что должны делать менее опытные пользователи или те, у кого нет бюджета?
Мы понимаем, что существуют тысячи сайтов WordPress, которые несовместимы с более новыми версиями PHP, будь то из-за старого плагина или темы. Задача для тех, кто не очень разбирается в технологиях, или для тех, у кого нет бюджета, как лучше поступить? Мы постоянно сталкиваемся с этим с клиентами, которые переходят на Kinsta и когда версии PHP достигают своего EOL.
Вот несколько рекомендаций:
- Это должно быть само собой разумеющимся, но всегда обновляйте свои плагины и темы до последней версии, если вы еще этого не сделали.
- Обратитесь к разработчику плагина или темы и попросите их добавить / исправить поддержку PHP 7.2 или 7.3 (или текущей версии, которую вы пытаетесь обновить). Мы предупреждаем клиентов перед тем, как прекратить работу над версиями PHP, чтобы у них было время сделать это при необходимости Это особенно важно для тех, у кого нет бюджета, просто нанять разработчика.
- Найдите альтернативный плагин, который может предоставить такую же функциональность и совместим с версией PHP. Благодаря огромному репозиторию WordPress и тысячам премиальных плагинов и тем, вы можете почти гарантировать, что есть альтернатива для всего.
- Для тех, у кого есть бюджеты, нанять разработчика WordPress чтобы исправить проблему.
Готовы обновить? Отлично, но одна из самых первых вещей, которые вы должны сделать, это проверить ваш сайт на предмет совместимости. Вы могли бы протестируйте свой сайт WordPress локально или, что еще лучше, используйте промежуточную среду, так как это будет больше напоминать живую производственную площадку. Лучше быть в безопасности, чем потом сожалеть!
Если вы являетесь клиентом Kinsta, вы можете легко создать постановочная среда с одним щелчком мыши. Измените версию PHP с панели инструментов и начните тестирование.
Сценарий WordPress
И помните, что если вы обновляете старую версию PHP, убедитесь, что вы также обновляете и установку WordPress. Новая версия PHP с 2-летней версией WordPress, вероятно, не получится. После того, как вы проверили свой сайт и готовы обновить PHP, вот несколько ресурсов, которые помогут вам быстро приступить к работе.
Обновите PHP с помощью Kinsta
Если вы являетесь клиентом Kinsta, вы можете легко изменить версию PHP нажав на свой сайт, перейдя в «Инструменты» и выбрав другой движок PHP. У нас есть PHP 5.6, 7.0, 7.1, 7.2 и 7.3. Примечание: мы скоро прекратим работу с PHP 5.6 и 7.0.
Изменить версию PHP
Обновление PHP из cPanel
Если ваш хост использует cPanel, у них, скорее всего, уже есть возможность изменить вашу версию PHP. Просто войдите в cPanel и в категории «Программное обеспечение» нажмите «Выбрать версию PHP».
Выберите версию PHP в cPanel
Затем вы можете выбрать доступные вам версии PHP, которые поддерживает ваш хост.
PHP 7 в cPanel
Обновление PHP вручную на сервере
Если вы управляете своим собственным сервером, мы рекомендуем ознакомиться с официальной документацией по установке PHP, поскольку инструкции могут различаться в зависимости от операционной системы. Вам нужно посмотреть на изменения с помощью функций, классов, оболочек, расширений, модулей и т. Д. Вот несколько ссылок на руководства по миграции:
Резюме
Сейчас самое время подумать об обновлении до PHP 7.3, если вы этого еще не сделали. Не только потому, что вы хотите работать с поддерживаемым программным обеспечением, но вам гарантировано повышение производительности! Если ваш текущий хост WordPress еще не поддерживает PHP 7.3, мы настоятельно рекомендуем вам найти новый хостинг. И аналогично с темами и плагинами. Если разработчик еще не выпустил патч, возможно, пришло время найти альтернативу.
Вы недавно перешли на PHP 7? Мы хотели бы услышать ваши мысли ниже. Был ли это легкий переход? Или, возможно, вы все еще застряли в ожидании третьей стороны.
Phpversion (); ?Задача для тех, кто не очень разбирается в технологиях, или для тех, у кого нет бюджета, как лучше поступить?
Готовы обновить?
Вы недавно перешли на PHP 7?
Был ли это легкий переход?