Downgrade PHP 5.3 до версии 5.2 в CentOS 6.2
- Проверено 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/