25Авг 2016

0

982

Как обновить версию PHP на сервере.

Как обновить версию PHP на виртуальном или выделенном сервере.


В данной статье мы расскажем, как обновить версию 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 -v

Чтобы просмотреть список модулей, используйте следующую команду :

php -m

Обновление PHP.

Для обновления версии PHP, подключитесь к серверу по SSH и используйте следующую команду :

yum update php

Возможно Вам повезет, и yum сразу предложит Вам обновление до нужно версии PHP, но это вряд ли.

Скорее всего Вы получите такой ответ :

«No packages marked for update»

Значит нужно добавить репозиторий. Репозиторий — специальное удаленное хранилище, из которого будет установлен пакет. Рассмотрим процесс добавления репозитория и обновления PHP более подробно.

Для обновления PHP используйте репозитории epel и remi. Эти репозитории проверенны годами верной работы администраторам виртуальных и выделенных серверов на Unix подобных системах. Из сторонних репозиториев устанавливать пакеты не рекомендуем.

Выполнить установку репозитория epel можно такой командой :

yum install epel-release

Чтобы добавить репозиторий 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

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

service httpd restart

Если на Вашем сервере нет httpd — скорее всего работает связка Nginx + PHP-FPM, тогда перезагрузите PHP-FPM :

service php-fpm restart

Проверьте версию PHP с помощью команды :

php -v

Также рекомендуем сразу установить пакет популярных расширений 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}

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

service httpd restart

Если на Вашем сервере нет httpd — скорее всего работает связка Nginx + PHP-FPM, тогда перезагрузите PHP-FPM :

service php-fpm restart

Если возникнут какие-либо проблемы — откройте тикет из личного кабинета, и наши специалисты обязательно Вам помогут.