Установка php 5.3 на Debian 7

Опубликовано:

В общем, понадобилась мне версия php 5.3 на новом debian 7. В репозиториях только версия 5.4. Немного гугления и решение найдено.

Для начала нужно подключить репозитории squeeze. Открываем файл /etc/apt/sources.list редактором nano или другим и добавляем туда вот это:

deb http://ftp.de.debian.org/debian/ squeeze main
deb-src http://ftp.debian.org/debian/ squeeze main

deb http://packages.dotdeb.org squeeze all
Для dotdeb.org  добавляем ключ
wget -O - http://www.dotdeb.org/dotdeb.gpg |  apt-key add -

После чего выполняем команду apt-get update.

Перед установкой необходимо удалить всё, что связано с php 5.4.

apt-get remove --purge `dpkg -l | grep php | grep -w 5.4 | awk '{print $2}' | xargs`

Далее смотрим, какая версия php 5.3.* доступна для установки:

apt-cache showpkg php5

Будет что-то вроде этого:

Provides:
5.4.35-0+deb7u2 -
5.4.4-14+deb7u14 -
5.3.29-1~dotdeb.0 -
5.3.3-7+squeeze19 -

Последняя — то, что нам нужно. Для удобства присвоим ей переменную:

VERSION="5.3.3-7+squeeze19"

Устанавливаем основные пакеты:

apt-get install php5=$VERSION php5-cli=$VERSION php5-common=$VERSION

или

apt-get install php5=5.3.3-7+squeeze19 php5-cli=5.3.3-7+squeeze19 php5-common=5.3.3-7+squeeze19

или
apt-get install -t squeeze php5

Также и с другими пакетами. Допустим, нужен модуль mysql.

apt-get install php5-mysql=$VERSION

Если php как модуль apache:

apt-get install libapache2-mod-php5=$VERSION

После установки, все пакеты нужно будет заморозить, чтобы при установке обновлений ОС php не был обновлён до последней версии 5.4. Делается это при помощи aptitude. Напечатайте aptitude hold и названия установленных пакетов:

aptitude hold php5 php5-cli php5-common

Если вдруг понадобилось разморозить эти пакеты, то hold следует заменить на unhold. Пример:

aptitude unhold php5 php5-cli php5-common

Понравилась статья, расскажи о ней друзьям, нажми кнопку!