Как обновить версию php на сервере. Как изменить или обновить версию PHP WordPress

04.08.2021

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

Обновление PHP для блога на WordPress, пошаговая инструкция на примере моего сайта для новичков.

Здравствуйте, уважаемые читатели.

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

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

И так сказать по горячим следам, решил написать инструкцию «Обновление PHP для WordPress», как «напоминалку» для себя и может, она будет интересна другим людям.

Давайте начнем.

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

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

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

Давайте обновим PHP сайта на примере обновления PHP для блога созданного на WordPress с версии PHP 5.2 до версии PHP 7.1

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

Шаг 1. Нужно открыть консоль администратора сайта на WordPress http://адрес Вашего сайта/wp-admin/.

Там открыть вкладку Плагины , выделить все установленные плагины и Деактивировать их или полностью удалить.

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

Я выбрал вариант Деактивировать плагины, но после обновления PHP, некоторые плагины не захотели активироваться и мне пришлось их полностью удалить.

А потом с ноля устанавливать, только тогда плагины установились и активировались без проблем.

И все бы ничего, если бы одним из не захотевших активироваться плагинов, не был плагин Редирект (перенаправление), пропали все ранее созданные перенаправления ссылок. Но это не критично, позже я все исправлю из сохраненного файла.

Проверка совместимости плагинов в WordPress версии 5.2 «Jaco»

Важно: В версии WordPress 5.2 под названием «Jaco», (это название дано в честь джазового басиста Jaco Pastorius), добавлено много хороших функций для безопасности WordPress. Одна из которых, это проверка совместимости плагинов. WordPress теперь автоматически определит совместимость версии PHP Вашего сайта с установленными плагинами. Если плагин требует более высокую версию PHP, чем Ваш сайт в настоящее время использует, WordPress не позволит Вам активировать плагин, предотвращая возможные ошибки совместимости.

Итак, все установленные плагины я деактивировал.

Шаг 2. Открываю свою административную панель на хостинге , там открываю опцию BackUp (создание резервных копий).

И создаю резервные копии , как папки с файлами самого сайта, так и базы данных и скачиваю эти два архива на мой компьютер, если вдруг, что — то пойдет не так.

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

Посмотреть какая версия PHP или выбрать и обновить для новой версии PHP

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

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

1. PHP 5.2 не был обновлен в течение многих лет и имеет серьезные проблемы.

2. PHP 7 работает до 400% быстрее, чем 5.2., это значит, что можно использовать до 50% меньше нагрузки на сервер, получая тот же результат.

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

Шаг 3. Да-да я выбрал PHP 7.1 . и нажал кнопку Применить , через секунду появилось сообщение о успешном обновлении PHP .

Шаг 4. Я возвращаюсь в консоль администратора моего сайта , открываю вкладку Плагины и активирую Плагины или устанавливаю вновь все нужные плагины.

Вот, собственно говоря и вся простая инструкция про «Обновление PHP для блога на WordPress «.

В заключении

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

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

Для обновления шаблона WordPress, плагинов WordPress, нужно просто выбрать нужный шаблон или плагин и обновить его. А не используемые шаблоны и плагины WordPress, лучше всего просто удалить.

И не забывайте о элементарных способах для .

Как обычно, вопросы пишите в комментариях.

P.S. Но, если у Вас все равно осталась не уверенность, обратитесь в службу поддержки Вашего хостинг провайдера с просьбой о помощи в обновлении PHP.

Если Вам была полезна статья «Обновление PHP для WordPress » пожалуйста поделитесь. Для Вас, это один клик на кнопку социальных сетей, а для меня, это большая мотивация для создания полезного контента.

Обзор бесплатного хостинга от одного из крупнейших хостинг-провайдеров России с отличными характеристиками: MySQL, PHP, установка CMS в 1 клик и другое. Быстрая регистрация для граждан России, Беларуси, Казахстана и Украины Отличный вариант для новых сайтов или обучения и тестирования своих знаний, плагинов и тем.

3 декабря 2015 года состоялся релиз финальной PHP версии 7.0.0. Новая версия содержит в себе множество нововведений, к примеру, увеличена производительность, добавлены анонимные классы, строгая типизация, безопасный рандом и многое другое. В этой статье мы расскажем, как можно быстро обновить веб-сервер Apache или Nginx c любой версии PHP 5 до PHP 7.

Требования

У вас должна быть установлена версия PHP 5 на операционной системе Ubuntu 14.04, и вы должны использовать либо модуль mod_php в случае веб-сервера Apache, либо PHP-FPM, если у вас веб-сервер Nginx. Также у вас должен быть создан пользователь, который не имеет root-прав, но может выполнять команды sudo для того, чтобы выполнять административные задачи.

Добавление PPA для пакетов PHP7

Персональные архивы пакетов (PPA) представляют собой пакеты, которые обычно создаются и распространяются в репозиториях, специальных серверах-хранилищах для таких файлов. launchpad.net - сервис, созданный для поддержки и развития подобных свободных проектов. Именно там вы можете найти бета-версии, модифицированные сборки и ретроподдержки для более старых версий операционной системы.

Ondřej Surý отвечает за пакеты PHP для Debian, и именно у него вы можете найти PPA для PHP 7.0 на Ubuntu . Поэтому в первую очередь авторизуйтесь в системе и добавьте PPA от Ondřej Surý в APT-утилиты операционной системы:

$ sudo add-apt-repository ppa:ondrej/php

После того, как на экране высветилось описание пакета PPA, нажмите Enter.

Примечание.
Если в вашей локали установлена не UTF-8 кодировка, тогда при установке PPA может возникнуть ошибка, связанная с обработкой букв имени автора. В качестве временного решения вы можете установить language-pack-en-base, и, когда локали сгенерированы, заместить настройки локали системы в то время, как добавляется PPA:

$ sudo apt-get install -y language-pack-en-base $ sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php

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

$ sudo apt-get update

После того, как вы получили доступ к пакетам PHP 7.0, можно заменить уже установленную версию PHP.

Обновление модуля mod_php на Apache

В этом разделе вы найдете информацию о том, как обновить систему, использующую в качестве веб-сервера Apache и модуль mod_php для выполнения PHP-кода.
Для начала вам необходимо установить новые пакеты. Благодаря этому будут обновлены все важные PHP-пакеты, за исключением php5-mysql, который будет удален.

$ sudo apt-get install php7.0

Примечание.
Если вы делали какие-то значительные изменения в файлах конфигурации в /etc/php5/, они будут все еще доступны. Конфигурационные файлы для PHP 7 лежат в /etc/php/7.0.

Всем пользователям MySQL необходимо повторно добавить обновленные двухсторонние биндинги PHP MySQL. Обязательно убедитесь в том, что вы это сделали:

Обновление PHP-FPM на Nginx

Инструкции, которые вы найдете в этом разделе, подойдут тем, кто использует в качестве веб-сервера Nginx, а PHP-код выполняется через менеджер процессов PHP-FPM.
Для начала установите новый пакет PHP-FPM и его зависимости:

$ sudo apt-get install php7.0-fpm

Для завершения установки вам нужно нажать Enter.

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

$ sudo apt-get install php7.0-mysql

Примечание.
Если вы делали какие-то значительные изменения в файлах конфигурации в /etc/php5/, они будут все еще доступны. Конфигурационные файлы для PHP 7 вы можете найти в /etc/php/7.0.

Обновление пути сокета у веб-серверов Nginx

Nginx использует сокет домена Unix для того, чтобы взаимодействовать с PHP-FPM. По умолчанию установленная версия PHP 7 будет использовать тот путь, который ей указали сокеты:

PHP 5: /var/run/php5-fpm.sock
PHP 7: /var/run/php/php7.0-fpm.sock

Откройте конфигурационный файл сайта default, используя nano (или другой редактор на ваше усмотрение):

$ sudo nano /etc/nginx/sites-enabled/default

Ваша конфигурация может отличаться от написанной. Ищите блок, начинающийся с location ~ \.php$ {, и строчку, которая выглядит таким образом:

Fastcgi_pass unix:/var/run/php5-fpm.sock;

Измените ее на:

Unix:/var/run/php/php7.0-fpm.sock

После этого вам нужно выйти, а затем сохранить файл. Если вы работаете в редакторе nano, то просто нажмите Ctrl-X для выхода, y для подтверждения и Enter для того, чтобы подтвердить перезапись имени файла.
Повторите этот процесс для всех остальных виртуальных серверов, расположенных в /etc/nginx/sites-enabled, которым необходимо поддерживать PHP.

$ sudo service nginx restart

Тестирование PHP

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

На экране высветится сообщение с необходимой информацией.

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

  • /var/www/html
  • /var/www/
  • /usr/share/nginx/html

Используя редактор nano, откройте файл info.php в корневом каталоге документов. По умолчанию в Apache этот путь:

$ sudo nano /var/www/html/info.php

В Nginx этот путь выглядит так:

$ sudo nano /usr/share/nginx/html/info.php

Скопируйте туда следующий код:

Выйдите из редактора, сохранив info.php. Теперь загрузите в своем браузере следующую страницу:

http://домен_или_IP/info.php

На экране должна высветиться версия PHP, а также данные, касающиеся конфигурации для PHP 7. После того, как вы все проверите, советуем удалить info.php:

$ sudo rm /var/www/html/info.php

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

На самом деле, ничего трудно тут нет. Для начала вам нужно скачать thread safe версию php на сайте http://windows.php.net/download/ . Советую качать 32-х разрядную версию, т.к. с 64-х битной у вас могут быть проблемы, да и эта сборка на данный момент является экспериментальной.

Теперь остановите сервер, используя скрипт stop.exe и switchOff.exe , дальше перейдите по пути usr/local/php5 и удалите там все бинарные файлы, заменяя их только что скачанными. Перезапустите Denwer .

Теперь в папке php5 у вас нет файла php.ini , однако вместо него есть php.ini-development и php.ini-production . Вы можете переименовать любой из них в php.ini и настроить сервер, как вам нужно. Не забудьте также посмотреть, чтобы была расскоментирована директива extension_dir="ext" , чтобы избежать проблем с подключаемыми модулями в будущем.

Обновление 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 расширений которые необходимо обновить.

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

Лучшее - враг хорошего? Мы рассмотрели, как обновить версию 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 будет сложно: придется рефакторить всю кодовую базу, но ради чего? Любое изменение должно исходить из рабочей потребности.

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

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