Обновление и Downgrade PHP в CentOS. Статьи. wb0.ru - Все для веб-мастера, on-line сервисы

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

CentOS в стандартном репозитории включает в себя PHP 5.1.6. Если для работы необходима более новая версия PHP, то можно воспользоваться сторонними репозиториями.

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

Использование репозитория Atomic

Использование для обновления репозитория Atomic - наиболее оптимальный и стабильный метод. Прежде всего необходимо подключить репозиторий и принять лицензию скрипта установки:

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

По умолчанию в репозитории ставится версия PHP 5.3.x. Чтобы поставить версию PHP 2.1.7, необходимо в секцию [atomic] файла /etc/yum.repos.d/atomic.repo добавить исключение:

exclude = php*5.3*

После этого можно обновить PHP:

yum update php

При этом не обновляется модуль mcrypt, поэтому его необходимо установить дополнительно:

yum update php-mcrypt

Или одной командой:

yum update php && yum -y install php-mcrypt

После завершения обновления необходимо перезагрузить Apache:

service httpd restart

или

/etc/init.d/httpd restart

Проверяем установленную версию и подключенные модули:

  1. php -v
  2. php -m

Если обновление прошло без ошибок, на экране появится сообщение:

PHP 5.2.17 (cli) (built: Jan  7 2011 08:49:48)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies

и список установленных расширений.

Использование репозитория CentOS-Testing

Обновление из штатного тестового репозитория не рекомендуется из-за возможной нестабильности тестового программного обеспечения.

Сначала необходимо создать файл /etc/yum.repos.d/CentOS-Testing.repo:

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

После чего нужно запустить обновление:

yum update

После зварешения обновления необходмио перезагрузить Apache. В результате будет установлена версия PHP 5.2.10

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

Как и при обновлении до PHP 5.2.x, рекомендуется использование репозитория Atomic. Но для обновления до PHP 5.3 не требуется прописывать исключение.

Использование репозитория REMI

Если по какой-то причине репозиторий Atomic не нравится, можно использовать репозиторий REMI. Сначала необходимо подключить репозиторий EPEL, так как он требуется для репозитория REMI:

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

или

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 до версии 5.3.x и MySQL до версии 5.1, так как это необходимо для корректной работы:

yum --enablerepo=remi update php mysql

Использование штатного репозитория

Использование штатного репозитория не рекомендуется из-за возможной несовместимости и проблем с зависимостями. Для обновления сначала необходимо удалить старую версию PHP. Для этого надо для каждого пакета выполнить команду:

rpm -e php

После этого можно устновить версию PHP 5.2.x:

yum install php52 php52-cli php52-mysql

Downgrade PHP 5.3 до версии 5.2 в CentOS 6.x

Часто для выполнения скриптов, написанных для старых версий PHP, требуется понижение версии PHP 5.3.x до версии PHP 5.2.17. Как и в случае с обновлением PHP с версии 5.1.6 до версии 5.2.17, оптимально воспользоваться репозиторием Atomic.

После подключения репозитория Atomic требуется отключить возможность установки содержащих PHP пакетов в стандартном репозиториии. Для этого в секции [base] и [updates] файла /etc/yum.repos.d/CentOS-Base.repo нужно добавить исключение:

exclude = php*

После этого следует удалить версию PHP 5.3.x (вместе с PHP будут удалены PhpMyAdmin и SquirrelMail) командой:

yum remove php*

Теперь можно установить нужную версию PHP, необходимые расширения, PhpMyAdmin, SquirrelMail и вернуть файлы конфигурации:

  1. yum install php-5.2.17 php-mcrypt-5.2.17 php-gd-5.2.17 php-mbstring-5.2.17 php-pdo-5.2.17 php-mysql-5.2.17
  2. yum install phpmyadmin
  3. yum install squirrelmail
  4. mv /etc/phpMyAdmin/config.inc.php.rpmsave /etc/phpMyAdmin/config.inc.php
  5. mv /etc/squirrelmail/config.php.rpmsave /etc/squirrelmail/config.php
  6. mv /etc/httpd/conf.d/squirrelmail.conf.rpmsave /etc/httpd/conf.d/squirrelmail.conf

Для избежания смены версии PHP при установке программного обеспечения следует отключить возможность автоматической установки расширений, добавив в секцию [atomic] файла /etc/yum.repos.d/atomic.repo исключение:

exclude = php*

После завершения установки необходимо перезагрузить Apache.

Если на сервере используется ISPmanager, то для корректного отображений версий в панели необходимо обновить кэш пакетов:

/usr/local/ispmgr/sbin/pkgctl cache

Для отключения использования репозиториев применяется опция enabled в соответствующих файлах в каталоге /etc/yum.repos.d/.


Дата публикации: 25.04.2013
wb0.ru

Статьи по теме:


Комментарии:
  1. Peter Winter: 555-555-0199@example.com
    Добавлен: 2017-10-27


   Ваш псевдоним:
Ваш комментарий:

Новости Интернет


Поиск




Наши партнеры




Последний пересчет

тИЦ:07 Окт 15
PR:09 Дек 13

Посетители

On-Line:7
Рекорд:1794
Зафиксирован:01 Окт 13

Наши партнеры

wservices.ru - регистрация доменов, Whois-сервисы Смайлы на все случаи жизни


Календарь событий


 
Copyright © 2006-2017, wb0.ru