Откат PHP 5.5 до 5.3 в Ubuntu 14.04

Как поставить старый PHP 5.3 на Ubuntu 14.04 через репозиторий 12.04 и запретить обновление пакетов. И как сегодня правильнее запускать legacy-сайты.

Актуальность. PHP 5.3 не поддерживается с 2014 года, а Ubuntu 14.04 — с 2019-го. Для старых сайтов сегодня удобнее держать нужную версию PHP рядом с современной: через репозиторий ondrej/php (несколько версий PHP-FPM одновременно) или в Docker-контейнере. Ниже — исходный способ для старых систем.

Зачем откатывать PHP

Не все CMS и сайты работают на новых версиях PHP, а обновить их бывает невозможно. Тогда на сервер ставят старую версию интерпретатора.

1. Удаляем текущие пакеты

sudo apt-get install aptitude
dpkg -l | grep php
sudo apt-get purge <пакеты php из списка> apache2 phpmyadmin

2. Временно переключаем репозитории на Ubuntu 12.04

sudo sed -i.bak "s/trusty/precise/g" /etc/apt/sources.list
sudo apt-get update
sudo apt-get install apache2 php5 libapache2-mod-php5 phpmyadmin

Подставьте кодовое имя своей системы вместо trusty. Резервная копия списка источников сохранится как sources.list.bak.

3. Возвращаем репозитории и замораживаем пакеты

sudo mv /etc/apt/sources.list.bak /etc/apt/sources.list
sudo apt-get update
sudo apt-mark hold `aptitude -F%p --disable-columns search ~U`
php -v

Команда apt-mark hold запрещает обновлять пакеты, для которых доступны новые версии, — иначе система при первом же обновлении вернёт PHP 5.5.

Современная альтернатива

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php5.6-fpm php8.2-fpm

Каждому сайту назначается свой пул PHP-FPM, и старый сайт не мешает обновлять остальные.

Все статьи

Расскажите о задаче — подберём платформу и оценим работу

Обсудить проект