Обновление версии PHP на сервере.

23 Марта 2015
обновить версию 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
Обновление 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 remove php*
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
systemctl restart httpd
Если возникнут какие-либо проблемы - откройте тикет из личного кабинета, и наши специалисты обязательно Вам помогут.