Вопросы и ответы - Макхост

Как обновить версию PHP на моем VDS?

Каким способом можно обновить версию PHP 5.4 на моем VDS на версию более новых веток, например PHP 5.5.

15.01.2016   00:44
Сотрудник Краснов Сергей
 нет комментариев
ОТВЕТЫ НА ВОПРОС (1)
Сотрудник Краснов Сергей

Для всех новых шаблонов с панелями управления ISPmanager 5, Vesta CP в комплекте идут репозитории с нашей сборкой PHP, начиная от старых версий PHP 5.2, 5.3, до актуальной PHP 5,4 и новых версий PHP 5.5, 5.6, 7.0

Достаточно включить нужный репозиторий для нужной версии и обновить пакеты. Рассмотрим последовательность действий обновления PHP для Vesta CP:

Необходимо зайти в файл репозитория /etc/yum.repos.d/mchost-php.repo любым удобным редактором или при помощи SFTP. По-умолчанию он имеет следующее содержимое:

[mchost-php52]
name=mchost-php52
baseurl=http://yum.mchost.ru/pub/php52/centos/6/x86_64/
gpgcheck=0
enabled=0
[mchost-php53]
name=mchost-php53
baseurl=http://yum.mchost.ru/pub/php53/centos/6/x86_64/
gpgcheck=0
enabled=0
[mchost-php54]
name=mchost-php54
baseurl=http://yum.mchost.ru/pub/php54/centos/6/x86_64/
gpgcheck=0
enabled=1
[mchost-php55]
name=mchost-php55
baseurl=http://yum.mchost.ru/pub/php55/centos/6/x86_64/
gpgcheck=0
enabled=0
[mchost-php56]
name=mchost-php56
baseurl=http://yum.mchost.ru/pub/php56/centos/6/x86_64/
gpgcheck=0
enabled=0
[mchost-php70]
name=mchost-php70
baseurl=http://yum.mchost.ru/pub/php70/centos/6/x86_64/
gpgcheck=0
enabled=0

enabled=1 для секции версии PHP означает, что на данный момент репозиторий для именно этой версии включен, в данном конкретном случае установлен по-умолчанию репозиторий с версией php 5.4, все остальные выключены.

Для того чтобы поставить версию 5.5 нам надо для секции mchost-php55 поставить enabled=1, для секции mchost-php54 выставить в enabled=0. После чего сохранить изменения в файле и ввести следующие команды в консоли ssh:

1. Удалить прекомпилятор xcache (в случае с панелью ISPmanager может быть не установлен), поскольку в старших версиях он не используется:

yum remove php-xcache -y

2. Обновляем пакеты PHP:

yum update php -y

3. Устанавливаем прекомпилятор opcache:

yum install php-opcache -y

4. Проверяем установленную версию:

php -v

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

5. Перезапускаем веб-сервер apache:

service httpd restart

6. Установливаем права для дефолтной директории с сессиями:

chmod 777 /var/lib/php/session/

На этом обновление завершено. 

Обновление до версии PHP 5.6 осуществляется по этой же схеме. В случае с версией PHP 7.0 установка несколько отличается, поскольку в PHP 7.0 не используется php-mysql, а используется php-mysqlnd. По этому для обновления нужно выполнить следующую последовательность:

1. Удалить прекомпилятор xcache (если он установлен), поскольку в старших версиях он не используется:

yum remove php-xcache -y

2. Удалить php-mysql:

rpm -e --nodeps php-mysql

3. Обновляем пакеты PHP:

yum update php -y

4. Устаналиваем php-mysqlnd:

yum install php-mysqlnd -y

5. Устанавливаем прекомпилятор opcache:

yum install php-opcache -y

6. Проверяем установленную версию:

php -v

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

7. Перезапускаем веб-сервер apache:

service httpd restart

8Установливаем права для дефолтной директории с сессиями:

chmod 777 /var/lib/php/session/

Данная инструкция актуальна для панели ISPmanager также, но для нее желательно в конце всех операций провести обновление информации о пакетах в системе:

/usr/local/mgr5/sbin/mgrctl -m ispmgr feature.update updatesystem=on sok=ok

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

Если нужно установить дополнительный пакет для FastCGI версии php. Создайте файл /etc/yum.repos.d/mchost-phpcgi.repo со следующим содержимым:

[mchost-phpcgi]

name=mchost-phpcgi

baseurl=http://yum.mchost.ru/pub/phpcgi/centos/6/x86_64/

gpgcheck=0

enabled=1

Далее можно устанавливать пакеты. Установим для примера модуль pgsql для php70.

yum install php70-pgsql
15.01.2016   00:46
 Комментировать

Для ответа нужно зарегистрироваться или авторизоваться.