Downgrade PHP 5.3 до версии 5.2 в CentOS 6.2

Материал из wiki.p3.ru
  • Проверено 19.05.2012 на centos-6-i386-ispmanager

В некоторых случаях требуется для каких-либо старых скриптов понижение версии PHP 5.3.3 до версии 5.2.17. Для проведения установки наиболее оптимально воспользоваться репозиторием Atomic. Установка производилась на свежепоставленный сервер, ниже приведен порядок действий.

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

# wget http://www.atomicorp.com/installers/atomic
# sh atomic

И принять лицензию скрипта установки (нажать enter)

Далее следует отключить в подключенных стандартных репозиториях системы возможность установки пакетов содержащих файлы PHP

Воспользуйтесь редактором и отредактируйте файл /etc/yum.repos.d/CentOS-Base.repo внеся изменения (добавив exclude=php*) в указанные секции

# vi /etc/yum.repos.d/CentOS-Base.repo
[base]
exclude=php*

[updates]
exclude=php*

После чего сохраните файл (:wq) и удалите пакеты установленного PHP 5.3.3 выполнив команду в shell

# yum remove php*

После того как будет удален PHP (также по зависимостям удалится phpmyadmin и squirrelmail) необходимо будет провести установку нужной версии и сопутствующих расширений командами

# 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

Убедитесь, что все необходимые расширения установлены и нет ошибок

# php -m

Затем установите обратно PhpMyAdmin и squirrelmail

# yum install phpmyadmin
# yum install squirrelmail

Верните файлы конфигурации на место

# mv /etc/phpMyAdmin/config.inc.php.rpmsave /etc/phpMyAdmin/config.inc.php
# mv /etc/squirrelmail/config.php.rpmsave /etc/squirrelmail/config.php
# mv /etc/httpd/conf.d/squirrelmail.conf.rpmsave /etc/httpd/conf.d/squirrelmail.conf

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

# vi /etc/yum.repos.d/atomic.repo
[atomic]
exclude=php*

И в завершение следует перезапустить веб-сервер Apache командой

# /etc/init.d/httpd restart

Если потребуется установить какие-либо расширения PHP дополнительно наиболее простой способ ставить из через rpm скачав с http://www2.atomicorp.com/channels/atomic/centos/6/i386/RPMS/