Откат 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, и старый сайт не мешает обновлять остальные.