Как обновить версию PHP на сервере? Как изменить или обновить версию PHP WordPress Почему PHP является значимым

Лучшее - враг хорошего? Мы рассмотрели, как обновить версию PHP, на которой работает ваш сайт, и для чего это нужно.

Актуальная версия PHP

Сейчас проходит бета-тестирование PHP 7.3 - последний релиз в этом семействе. Актуальной на сегодняшний момент считается 7.2, которая превосходит в скорости и функциональности все прошлые версии.

Вот неполный список возможностей PHP 7:

  • типы скалярных параметров и подсказки (hints) по возвращаемым типам;
  • две новые функции CSPRNG ;
  • анонимные классы;
  • оператор return в генераторах и другие обновления в них;
  • улучшение функции assert() с сохранением обратной совместимости.

Как обновить PHP на Windows

Здесь все очень просто и прозаично:

1. Скачиваем последнюю версию PHP

2. Удаляем старую

3. Устанавливаем новую.

4. Прописываем заново настройки в Apache и PHP.

Но прежде чем обновлять, нужно внимательно изучить раздел Appendices в документации к новой версии. В нем описывается устаревший функционал, который больше не применяется в языке. Новые версии не поддерживают старый код: особенно трудна миграция с пятой на седьмую, у которой очень слабая обратная совместимость.

Если разработчик использует неподдерживаемые функции, то кусок кода, в котором они есть, просто не заработает. Поэтому перед обновлением нужно серьезно проанализировать этот раздел и в соответствии с ним - свой код.

Зачем обновлять, если все работает

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

В каждом релизе PHP появляются новые фишки и функции, а также закрываются уязвимости. Например, is_countable позволяет определить тип переменной - перечисляемый или нет. Это очень удобная возможность для веб-разработчиков. Сейчас приходится использовать для определения типа переменной if , а в PHP 7.3 это можно будет сделать одной функцией.

Однако обновление версии PHP - это болезненный процесс для команды разработки, означающий многодневный рефакторинг кода и исправление ошибок - всё из-за проблем с обратной совместимостью в этом языке. Ранее установленные плагины и скрипты могут конфликтовать с новой версией, работать некорректно или не подключаться вообще, добавляя головной боли разработчикам.

Веб-хостинг Plesk в своем блоге на Хабре выложил статистику , какие версии PHP используют их пользователи на своих сайтах. В начале марта2018 года ситуация выглядела вот так:

Статистика использования разных версий PHP

Как видите, самую последнюю версию используют очень немногие. Консервативное большинство остается верным надежным технологиям - от PHP 5.1 до 5.6.

Обновлять или не обновлять: вот в чем вопрос

Мы скажем так: Святого Грааля в проблеме обновления нет. Подходить к нему нужно с позиции целесообразности. Большой проект перевести на PHP7 будет сложно: придется рефакторить всю кодовую базу, но ради чего? Любое изменение должно исходить из рабочей потребности.

Если проблем с поддержанием работоспособности сайта и скоростью загрузки нет, то переход на более современную версию - лишняя трата времени и средств. Если разработчикам всего хватает в функционале - в обновлении тоже нет смысла. Переход на новую версию не должен обосновываться тем, что это круто, модно и молодежно.

На старых сайтах, где сплошной

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

О том когда и как, а главное, зачем переходить на новую версию php и не наделать ошибок, мы и поговорим в этом посте.

Когда переходить на последнюю версию php

О необходимости обновления версии php можно узнать как самостоятельно (проверить скорость загрузки), так и получив уведомление от своего хостинг-провайдера. Кроме того, при использовании готовых движков, можно включить режим отладки системы и при установке расширений у которых используется старая версия php, система сама выдаст предупреждение.

Так же проверить код сайта на ошибки можно валидатором (). Еще один способ несовместимости - это установка расширений для своего движка. Особенно это касается новых или обновленных расширений (если создан на php). В них всегда все новое, в том числе и сам php-код.

Причины для обновления php

Необходимо отметить 2 самые важные причины - это безопасность и работоспособность всего сайта. Еще совсем недавно все администраторы знали о прекращении обновления php версии 5.2, а сейчас, по прошествии всего чуть меньше двух лет, язык программирования php уже доступен в 7 версии.

Говоря простым языком, обновлено полностью ядро php, появились новые и упрощены старые функции. В результате увеличения передачи данных, увеличилась и скорость работы.

Владельцам самописных сайтов использующих php, так же необходимо позаботиться о переходе на новую версию, но это уже отдельная тема и владельцы написавшие такой сайт самостоятельно, знают как это сделать.

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

Как узнать версию php

Прежде всего любому администратору необходимо иметь полную информацию о своем программном обеспечении с помощью которого работает сайт, включая и версию php, если конечно именно этот язык программирования использован для работы проекта.

Способов проверки достаточно много, самыми простыми являются непосредственно проверка версии php в аккаунте хостинга и второй - создание файла проверки версии php.

Про аккаунт на хостинге, каждый владелец сайта все знает сам, а вот про проверку с помощью файла, рассмотрим подробнее.

Для этого создаем файл в любом редакторе со следующим содержимым:
и сохраняем под тем же именем phpinfo.php

Затем данных файл нужно закачать в корень своего сайта и обратиться к нему в адресной строке своего браузера (http://ваш_домен/phpinfo.php).

В результате получим всю необходимую информацию касающуюся не только версии php, но и все что нужно для администратора.

Обновление php на сервере для wordpress

Все популярные cms-системы, в том числе и wordpress, часто обновляются и имеют последнюю версию языка программирования и частенько новый функционал. Связано это прежде всего с безопасностью и с обновлениями программного кода.

На этом примере рассмотрим практику обновления php непосредственно на хостинге. Хорошо что владельцам cms-систем нет надобности обновлять весь программный код cms, для этого есть разработчики.

А вот настроить совместимость версий php хостинга и например wordpress, это уже дело администратора сайта. Собственно ради этого и написана данная статья.

Любой администратор знает что обновление php на сервере делается из контрольной панели хостинга двумя кликами мыши. Выбрал необходимую версию php и нажал кнопку «сохранить».

В большинстве случаев это происходит по причине несовместимости установленных расширений с последними версиями php. Поэтому важно следить за обновлениями и стараться не устанавливать расширения, которые давно не обновлялись разработчиком.

Совсем не важно знать структура wordpress или другого движка, а достаточно понимать что все изменения происходят именно по этой причине.

А раз так, то нужно все это дело проверить. Но расширений может быть не один десяток (плагины для wordpress) и проверить такое количество на совместимость, просто не реально!

Как быть?

Проверка расширений на совместимость с php 7

Как ни странно, но для wordpress например, можно установить еще один плагин Compatibility php , который и поможет узнать какие установленные плагины не дают нормально работать системе.

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

Установка стандартная и после этого в панели инструментов появится дополнительная вкладка PHP Compatibility.

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

Чтобы внимательно рассмотреть, нажмите мышкой на изображение.

На скриншоте видно, что после нажатия на кнопку «Scan site again», плагин выдал всю информацию по установленным расширения. Наглядно виден разноцветный результат проверки.

Содержимое подозрительных плагинов можно просмотреть нажав на ссылку справа и увидеть адрес этой ошибки.

Таким образом, из установленных 23-х плагинов на блоге, необходимо отключить или удалить всего 3. Тем самым можно обеспечить себе уверенность в том, что обновление php пройдет без проблем.

Если не жалко времени, можно обойтись ручным способом удалить или отключить все плагины, а после настройки сервера на php 7, постепенно включать их по одному и проверять работу.

В этом случае нужно либо помнить все настройки, либо иметь файл с сохраненными настройками.

Обновление версии php joomla

Что касается cms-joomla, то наверняка уже понятно, что процедура обновления версии php примерно выглядит одинаково. Вариантов достаточно много, но самое главное, что уже вся система работает на последней версии php после того, как вышла joomla 3.7.

При этом в панели администратора появится сообщение о несовместимости php не зависимо от того, на каком сервере работает система, локальном или удаленном.

Что касается установленных расширений, то зачастую в joomla не бывает больше 5-7 расширений которые необходимо обновить.

И информацию об обновлении всегда можно увидеть в админ-панели, но если некоторые расширения долго не обновляются, стоит на это обратить пристальное внимание.

Если вы хотите, чтобы ваш блог, ваш сайт или ваш бутик ан Ligne работает нормально, было бы идеально рассмотреть вопрос об изменении или обновлении версии PHP, которую вы используете на своем сайте. Новая версия PHP (PHP7) еще недостаточно распространена, но она не будет длинной, поскольку она приносит много новшеств и весьма вероятно, что она требуется для установки или использования следующей версии WordPress.

В этой статье предполагается, что вы уже создали веб-сайт или блог WordPress. .

Но если вы уже сделали это, давайте продолжим.

Почему вы должны перейти на PHP 7?

Если вы используете WordPress на своем сервере, у вас, очевидно, уже установлен PHP. Итак, зачем обновляться, когда все работает так хорошо?

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

  • . плагины и скрипты установленные вами версии больше не совместимы с используемой версией
  • Минимальные требования для запуска WordPress увеличились
  • Версия, которую вы используете, имеет недостатки безопасности, и обновление включает в себя патч
  • Вам нужно к более стабильной версии
  • Вы хотите протестировать другую версию при установке WordPress или в тестовой среде
  • Вы обнаружили конфликт между используемой версией и установленными плагинами, темами или сценариями.

Все это веские причины, но перед тем, как вы обновите свою версию PHP, у нее есть недостатки, которые вы должны рассмотреть...

Некоторые важные недостатки, чтобы рассмотреть...

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

Главное, что вам нужно иметь в виду, прежде чем выполнять обновление, - это то, что все ваши плагины, темы и скрипты не обязательно совместимы с последней версией PHP, которую вы хотите использовать .

В случае несовместимости, скорее всего, ваш сайт больше не работает или вы видите много ошибок. Кроме того, WordPress теперь сообщает вам, совместим ли плагин с вашей версией PHP или нет.

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

Обнаружить

В некоторых случаях целые версии, такие как PHP 4 и выше, больше не поддерживаются. Если на вашем веб-сайте используются плагины, темы или сценарии, которые зависят от устаревшего кода PHP, и выполняется обновление до более новой версии PHP, это обновление сделает код устаревшим и, таким образом, прекратит работу. вашего блога.

В дополнение к ручной проверке вашего веб-сайта на предмет выявления возможных слабых мест, существует множество плагинов, которые сообщают вам, совместима ли ваша среда с обновлением. Хорошей новостью является возможность понизить ранее активированную версию. Другими словами, если вы заметили какие-либо ошибки, все еще можно восстановить предыдущую версию PHP ... так, например, перейти на версию 5.5 версии 7.x, и если все не работает, вы можете вернуться к версия 5.5.

Проверьте совместимость PHP

Вот некоторые плагины, которые вы можете использовать для проверки совместимости вашей среды с обновленной версией PHP:

  • Проверка совместимости PHP - Этот плагин позволяет вам определить версию PHP и сделать анализ по сравнению с текущей версией PHP вашего хоста. Он также создает отчет, чтобы сказать вам, что исправить.
  • Error Log Monitor - Если есть ошибки, вы можете активировать журнал, чтобы отслеживать все ошибки, что поможет вам облегчить их устранение.

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

  • Миграция с PHP 4 на PHP 5.0.x
  • Миграция с PHP 5.0.x на PHP 5.1.x
  • Миграция с PHP 5.1.x на PHP 5.2.x
  • Миграция с PHP 5.2.x на PHP 5.3.x
  • Миграция с PHP 5.3.x на PHP 5.4.x
  • Миграция из 5.4.x PHP для PHP 5.5.x
  • Миграция из 5.5.x PHP для PHP 5.6.x
  • Миграция из 5.6.x PHP для PHP 7.0.x
  • Миграция из 7.0.x PHP для PHP 7.1.x
  • Миграция на последнюю версию PHP

Если вы обнаружите, что используете плагин, тему или сценарий, который несовместим с версией PHP, которую вы хотите использовать, вы можете обратиться к автору или разработчику, чтобы помочь вам решить проблему. Если вам нужна рука, вы можете оставить комментарий в этой статье, я буду рад предоставить вам ответы.

Как изменить PHP версии

Итак, когда ваш блог прошел тест на совместимость, вы можете изменить версию PHP, которую вы используете, через SSH или cPanel. Если это не вариант, к которому у вас есть доступ, обратитесь к веб-хостинг , В большинстве случаев они могут обновить вас или выполнить другие задачи.

Обновление через SSH (продвинутые пользователи)

Поскольку команды SSH для обновления или установки других версий PHP различаются в зависимости от типа сервера, то нет универсальных команд, которые работают повсюду.

Защитите свой блог или веб-сайт, обратившись к нашему руководству:

Нажмите на один из ресурсов ниже, чтобы просмотреть подробную информацию о типе вашего сервера:

  • Unix-системы
  • Mac OS X
  • Системы Windows
  • Платформы «Cloud Computing»

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

Обновление или изменение PHP в cPanel

Если вы предпочитаете выбирать в несколько кликов версия PHP для вашего сервера, вы можете сделать это, войдя в свою учетную запись cPanel. Однако эта опция доступна только в версиях cPanel по умолчанию. Если это не так дома, вам нужно будет связаться с вашим поставщиком веб-хостинга для этого.

Я покажу вам, как получить к нему доступ с вашей панели управления. После того, как вы вошли в систему, перейдите в раздел «Программное обеспечение» и нажмите «MultiPHP Manager».


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

Если вы читаете этот пост, скорее всего, ваш сайт работает с древней версии PHP. Вы не одиноки, версия PHP 5.3 используется на 31,1% всех сайтов и 5.4 на 29% сайтов. Обе эти версии PHP уже достигли конца своей жизни и больше не будет поддерживаться. А это значит, что на вашем сайте потенциально возможны большие угрозы безопасности.

Joomla является одной из самых мощных и безопасных CMS на планете. Но одной лишь Joomla не достаточно, чтобы защитить ваш сайт, если вы используете старую версию PHP. Люди часто критикуют и обвиняют CMS, когда их сайт взломан, но они могут и не понять, что это могло произойти из-за проблемы на сервере.

В Joomla недавно подняли требования к версии PHP до PHP 5.6 или 7. Но CMS также может работать на PHP 5.3.10+.

PHP 7 уже выпустили, и это прорыв истории в PHP. Поэтому давно пора обновить серверную версию PHP до PHP 7 или, по крайней мере, до 5.6+. В этом уроке я собираюсь показать вам, как вы можете это сделать.

**Важно: если вы решили обновиться до PHP 7, убедитесь, что версия Joomla на вашем сайте 3.5+ для того, чтобы система работала должным образом.

Виртуальный хостинг или VPS

Самый простой способ

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

Обновить PHP через cPanel

Большинство хостингов предоставляют cPanel для самостоятельного управления хостингом. CPanel позволят вам обновить версию PHP через свой интерфейс. Найдите диспетчер версии PHP или варианты конфигурации PHP и щелкните по нему.

Выберите версию PHP 5.6+ или 7 и сохраните изменения.

Обновление через.htaccess файл

Если перечисленные выше способы не работают для вас, то ваш лучший выбор - обновить версию PHP с использованием файла.htaccess.

Перейдите в cPanel, "Диспетчер файлов" и выберите корень сайта. Это можно сделать и с помощью FTP. В корневом каталоге создайте новый файл (или отредактируйте существующий) .htaccess и добавьте следующую строку:

Чтобы перейти на PHP 5.6

AddHandler application/x-httpd-php56 .php .php5 .php4 .php3

Чтобы перейти на PHP 7.0

AddHandler application/x-httpd-php70 .php .php5 .php4 .php3

Эта настройка применяется рекурсивно для всех вложенных папок. В случае, если вы хотели бы иметь другую версию PHP в подкаталоге, создайте в нем новый.htaccess файл с директивой для нужной версии PHP.

VPS или выделенный сервер

Если вы используете Ubuntu 14.04 или ниже Вы можете обновиться с помощью этой команды:

Sudo apt-get upgrade sudo apt-get dist-upgrade

Давайте добавим PHP репозиторий в наш список. Пожалуйста, выбрите соответствующую версию.

Sudo apt-add-repository ppa:ondrej/php5-5.6

Sudo apt-add-repository ppa:ondrej/php

Обновление до версии PHP 5.6

sudo apt-get install php5

Ваша версия PHP теперь повышена и необходима просто перезагрузить сервер.

Apache: sudo service apache2 restart

Nginx: sudo service nginx restart

Обновление до версии PHP 7

Обновление до версии PHP 7 требует немного дополнительной работы. Зависит от вашего веб-сервера для выполнения этой команды.

Обновление mod_php в Apache

Во-первых, необходимо установить новые пакеты (packages). Это обновит все важные файлы PHP, за исключением пакета PHP5-MySQL, которая будет удалена.

Sudo apt-get install php7.0

Если вы используете MySQL, убедитесь в том, чтобы повторно добавить обновленные версии PHP и MySQL привязки:

Обновление PHP-FPM в nginx

А теперь поговорим о процессе обновления системы с помощью nginx в качестве веб-сервера и PHP-FPM для выполнения PHP-кода.

Во-первых, установите новый PHP-FPM пакет и его зависимости:

Sudo apt-get install php7.0-fpm

После этого вам будет предложено продолжить. Нажмите клавишу Enter, чтобы завершить установку. Если вы используете MySQL, убедитесь, что повторно установили PHP привязки к MySQL:

Sudo apt-get install php7.0-mysql

Примечание: если вы внесли существенные изменения в файлы конфигурации в /etc/PHP5, то эти файлы останутся на месте, и на них можно ссылаться. Конфигурационные файлы для PHP 7.0 будут находиться в /etc/PHP/7.0.

Теперь обновите ваш сервер nginx блок с новым PHP 7.0.

Fastcgi_pass unix:/run/php/php7.0-fpm.sock;

Сохраните и закройте файл. Теперь остается просто перезагрузиться.

Sudo service nginx restart

Проверить вашу версию PHP в админ-панели Joomla, откройте Система > Информация о системе. Вы сможете увидеть там номер вашей PHP версии.

(VPS, VDS, DS) под управлением самой популярной операционной системы для веб серверов, ОС CentOS.

Предостережения. Сразу хотим предупредить Вас, многие популярные движки требовательны к версиям PHP и набору модулей. Поэтому, перед обновлением PHP на сервере, проверьте совместимость Ваших CMS с новой версией PHP. Обычно эту информацию можно найти на официальных сайтах разработчиков. Некоторые модули могут быть недоступны на более новых версиях PHP. Например Zend Optimizer работает только с версиями php до 5.2, на версии PHP 5.3 используется его аналог, Zend Guard Loader. При этом, если скрипт закодирован с помощью Zend Optimizer, Zend Guard этот скрипт обработать не сможет.

Установка SSH клиента. Вам понадобится SSH доступ к серверу и SSH клиент. Если на Вашем ПК установлена операционная система Linux - SSH клиент Вам не нужен, можете использовать для подключения по SSH стандартный Linux терминал. Владельцам компьютеров с ОС Windows мы рекомендуем использовать SSH\Telnet клиент Putty. Данная программа бесплатна и проста в использовании.

Скачать последнюю версию с официального сайта можете по ссылке:

https://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
Подключитесь к Вашему серверу по SSH от имени суперпользователя root или другого пользователя с аналогичными привилегиями. Проверка текущих версий. В первую очередь проверим текущую версию PHP и список модулей. Чтобы узнать версию PHP используйте команду: Чтобы просмотреть список модулей, используйте следующую команду: Обновление PHP. Для обновления версии PHP, подключитесь к серверу по SSH и используйте следующую команду: Возможно Вам повезет, и yum сразу предложит Вам обновление до нужно версии PHP, но это вряд ли. Скорее всего Вы получите такой ответ:
"No packages marked for update"
Значит нужно добавить репозиторий. Репозиторий - специальное удаленное хранилище, из которого будет установлен пакет. Рассмотрим процесс добавления репозитория и обновления PHP более подробно. Для обновления PHP используйте репозитории epel и remi. Эти репозитории проверенны годами верной работы администраторам виртуальных и выделенных серверов на Unix подобных системах. Из сторонних репозиториев устанавливать пакеты не рекомендуем. Выполнить установку репозитория epel можно такой командой: Чтобы добавить репозиторий remi на CentOS 6 используйте следующие команды:
wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
sudo rpm -Uvh remi-release-6*.rpm
Для установки репозитория remi на CentOS 7 используйте такие команды:
wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
sudo rpm -Uvh remi-release-7*.rpm
Теперь можно обновить PHP. Обновите PHP до версии 5.4 с помощью команды:
yum update - -enablerepo=remi php
Если Вам нужно обновление до версии 5.5, используйте команду:
yum update --enablerepo=remi-php55 php
Если требуется обновление до версии 5.6, используйте команду:
yum update --enablerepo=remi-php56 php
Для обновления до новой ветки PHP 7 используйте такую команду:
yum update --enablerepo=remi-php70
После обновления, обязательно перезагрузите веб сервер. Для этого используйте команду: Если на Вашем сервере нет httpd - скорее всего работает связка Nginx + PHP-FPM, тогда перезагрузите PHP-FPM: Проверьте версию PHP с помощью команды: Также рекомендуем сразу установить пакет популярных расширений PHP. Используйте для этого одну из команд (в зависимости от версии PHP) :
yum install --enablerepo=remi php-{mysql,mcrypt,mbstring,gd,xml}
yum update --enablerepo=remi-php55 php-{mysql,mcrypt,mbstring,gd,xml}
yum update --enablerepo=remi-php56 php-{mysql,mcrypt,mbstring,gd,xml}
yum update --enablerepo=remi-php70 php-{mysql,mcrypt,mbstring,gd,xml}
После установки обновлений,еще раз перезагрузите веб сервер. Для этого используйте команду: Если на Вашем сервере нет httpd - скорее всего работает связка Nginx + PHP-FPM, тогда перезагрузите PHP-FPM:

Обновление PHP до 7.2 на CentOS 7

Для обновления PHP до версии 7.2 необходимо выполнить следующие команды:

rpm -ivh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum -y install epel-release yum-utils
yum-config-manager --enable remi-php72
yum install php php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt php-common php-fpm php-pdo php-mysqlnd php-imap php-embedded php-ldap php-odbc php-zip php-fileinfo php-process php-opcache
Если возникнут какие-либо проблемы - откройте тикет из личного кабинета, и наши специалисты обязательно Вам помогут.