Обновление 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.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
Для 64-битной CentOS Linux
rpm -ihv http://download.fedora.redhat.com/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).
