Обновление PHP в CentOS Linux

Материал из ISPWiki

Перейти к: навигация, поиск

(проверено 08.09.2011 на CentOS 5.6 32bit)

CentOS Linux в стандартном репозитории включает в себя PHP версии 5.1.6. Если нужна более новая версия, то наиболее оптимально воспользоваться сторонними репозиториями пакетов. Ниже приведены инструкции по обновлению до версий 5.2.x и 5.3.x.

Эта статья претерпела большое количество изменений с момента написания, равно как произошли изменения в репозиториях, и в настоящее время (08.09.2011) рекомендуется использовать репозиторий Atomic (по состоянию на 08.09.2011) во всех случаях обновления, либо REMI при обновлении до версии 5.3, если Atomic не подходит.


Содержание

Обновление PHP с 5.1.6 до версии 5.2.x

Способ 1: использование репозитория Atomic (рекомендуется)

Наиболее стабильный и оптимальный метод - это использование репозитория Atomic, CentOS-guru советуют использовать его вместо репозитория CentOS-Testing из-за возможной нестабильности тестового программного обеспечения.

По состоянию на 08.09.2011 в репозитории PHP версии 5.2.17.

Подключите репозиторий:

wget -q -O - http://www.atomicorp.com/installers/atomic.sh | sh

В репозитории по умолчанию ставится PHP 5.3 - это необходимо отключить, прописав исключение

exclude = php*5.3*

в секцию [atomic] в файле /etc/yum.repos.d/atomic.repo

Обновите PHP

yum update php

Также потребуется обновить модуль mcrypt

yum update php-mcrypt

После успешного выполнения команды проверьте версию PHP и работу (что расширения подгружаются и ни на что не ругается):

php -v
php -m

И перезапустите Apache

/etc/init.d/httpd restart


Способ 2: Использование репозитория CentOS-Testing (не рекомендуется)

(рекоментации с wiki.centos.org, вольный перевод)

По состоянию на 15.07.2010 в репозитории PHP версии 5.2.10

Создайте файл /etc/yum.repos.d/CentOS-Testing.repo со следующим содержимым:

# CentOS-Testing:
# !!!! CAUTION !!!!
# This repository is a proving grounds for packages on their way to CentOSPlus and CentOS Extras.
# They may or may not replace core CentOS packages, and are not guaranteed to function properly.
# These packages build and install, but are waiting for feedback from testers as to
# functionality and stability. Packages in this repository will come and go during the
# development period, so it should not be left enabled or used on production systems without due
# consideration.
[c5-testing]
name=CentOS-5 Testing
baseurl=http://dev.centos.org/centos/$releasever/testing/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing
includepkgs=php*

Запустите обновление:

yum update

После успешного обновления перезапустите apache:

service httpd restart

Смотрите также wiki.centos.org решение вопросов по доустановке необходимых модулей.


Обновление PHP с 5.1.6 до версии 5.3.x и MySQL-сервера с 5.0 до 5.1

В данном разделе описано, как обновить PHP до версии 5.3. При этом также обновится MySQL-сервер 5.0 до 5.1, так как его обновление необходимо для корректной работы расширения php-mysql.

Способ 1: Использование репозитория Atomic (рекомендуется)

Мы рекомендуем использовать репозиторий Atomic точно так же, как для обновления PHP до версии 5.2. Просто подключаете и обновляете так, как указано выше (при обновлении до версии 5.2). Не добавляйте в конфиг исключение, которое отключает версию 5.3.

При обновлении PHP при этом будет установлена версия PHP 5.3

Способ 2: Использование штатного репозитория (не рекомендуется)

В дистрибутиве CentOS 5.6 и выше появились пакеты php52-* в штатном репозитории. Можно установить их. Однако возможна некоторая несовместимость и проблемы с зависимостями (так, например, при удалении старого php деинсталлируется phpmyadmin и squirrelmail)

Удалите старый PHP 5.1

rpm -e php php-mysql ....

(выполнить для каждого пакета)

Установите php52

yum install php52 php52-cli php52-mysql

Способ 3: Использование репозитория REMI (допускается)

Данный способ можно использовать, если Atomic вас чем-либо не устраивает. Используется репозиторий REMI, кроме этого следует подключить репозиторий EPEL, так как он требуется как зависимость для REMI.

Подключение репозиториев EPEL и REMI

Подключите репозиторий EPEL:

Для 32-битной системы (определить версию системы можно командой uname -a)

rpm -ihv http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

Для 64-битной CentOS Linux

rpm -ihv http://download.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

Подключите репозиторий REMI (вне зависимости от разрядности ОС):

rpm -ihv http://rpms.famillecollet.com/enterprise/remi-release-5.rpm


Обновление PHP и MySQL из репозитория REMI

Чтобы обновить PHP 5.1.6 до 5.3, выполните команду

yum --enablerepo=remi update php mysql

Репозиторий REMI содержит также архивы http://rpms.famillecollet.com/enterprise/5/olds/ более старых версий PHP, в том числе и 5.2 (доступны для скачивания и ручной установки, то есть не через менеджер пакетов yum).


Примечание

Конфигурация подключенного репозитория по умолчанию

При установке репозитория создается файл в каталоге /etc/yum.repos.d/, в нем опция enabled=1 или enabled=0 определяет "автоматическое" подключение репозитория.

Дополнение при использовании ISPmanager

После обновления PHP необходимо также обновить кэш пакетов ISPmanager командой

/usr/local/ispmgr/sbin/pkgctl cache

для корректного отображения версии в меню "Настройки сервера" -> Возможности (ISPmanager).

Была ли эта информация полезной? Да | Нет
Личные инструменты