По дате Февраль 10th, 2012

php 5.2 на debian squeeze - установка php предыдущей версии

Установка php 5.3 в debian squeeze теперь не проблема. Достаточно набрать

apt-get update && apt-get install php5

Однако, многие сайты, сделанные ранее (работающие проекты на php 5.2) в php 5.3 выдают ошибки-предупреждения (deprecated), а иногда “ну совсем” не работают.

Deprecated: Function eregi() is deprecated in /home/www/php-site.ru/public_html/include/functions.php on line 152

Итак, как же установить (эм.. почти как апгрейд, только наоборот - downgrade) PHP 5.2 на debian squeeze

Посмотрим, что же в - если система “свежая” - там скорее всего только 2 строки для текущего релиза
vi /etc/apt/sources.list

Статья обновлена, т.к. lenny перемещен в архив

deb http://archive.debian.org/debian lenny main contrib non-free

Добавим туда репозитарий для debian lenny
deb http://ftp.ro.debian.org/debian/ lenny main contrib non-free

Для всех пакетов, начинающихся с php5 зададим приоритетным репозитарий предыдущей версии:
vi /etc/apt/preferences

Package: php5*
Pin: release a=oldstable
Pin-Priority: 700

Package: *
Pin: release a=stable
Pin-Priority: 600

Если php5.3 был ранее установлен - его следует удалить.. Проверить это можно командой:
dpkg -l |grep php5
Если вывод похож на следующий - удаляем
ii libapache2-mod-php5 5.3.3-7+squeeze8 server-side, HTML-embedded scripting language (Apache 2 module)
ii php5 5.3.3-7+squeeze8 server-side, HTML-embedded scripting language (metapackage)
ii php5-cli 5.3.3-7+squeeze8 command-line interpreter for the php5 scripting language
ii php5-common 5.3.3-7+squeeze8 Common files for packages built from the php5 source
ii php5-gd 5.3.3-7+squeeze8 GD module for php5
ii php5-mcrypt 5.3.3-7+squeeze8 MCrypt module for php5
ii php5-mysql 5.3.3-7+squeeze8 MySQL module for php5
ii php5-suhosin 0.9.32.1-1 advanced protection module for php5

Для удаления уже установленных пакетов, содержащих php
aptitude remove `dpkg -l | grep php| awk '{print $2}' |tr "\n" " "`
Обновим информацию о пакетах
apt-get update
И установим php5.2 на squeeze из предыдущего репозитария
apt-get -t oldstable install `dpkg -l | grep php5| awk '{print $2}' |tr "\n" " "`
Да.. при попытке установить PHP 5.2 система выдала ошибку
libapache2-mod-php5 : Depends: libkrb53 (>= 1.6.dfsg.2) but it is not going to be installed
, поэтому устанавливаем отдельно пакет libkrb53
apt-get install libkrb53
После чего установка PHP 5.2 проходит без ошибок: команда
dpkg -l | grep php5
должна вывести примерно следующее:
ii libapache2-mod-php5 5.2.6.dfsg.1-1+lenny13 server-side, HTML-embedded scripting language (Apache 2 module)
ii php5-cli 5.2.6.dfsg.1-1+lenny13 command-line interpreter for the php5 scripting language
ii php5-common 5.2.6.dfsg.1-1+lenny13 Common files for packages built from the php5 source
ii php5-gd 5.2.6.dfsg.1-1+lenny13 GD module for php5
ii php5-mcrypt 5.2.6.dfsg.1-1+lenny13 MCrypt module for php5
ii php5-mysql 5.2.6.dfsg.1-1+lenny13 MySQL module for php5
ii php5-suhosin 0.9.27-1 advanced protection module for php5

Опубликовано Февраль 10, 2012 | автор: levik  |  Комментарии (4) »