Установка 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