Вопрос или проблема
По умолчанию в Debian Jessie у меня установлен PHP 5.6, использую команду apt-get install php5
.
Проблема в том, что у проекта, над которым я работаю, сильно устаревшие функции до такой степени, что проект работает неправильно, и мне не удалось подавить ни одно из предупреждений об устаревании. Они просто не исчезают.
После консультации с одним из моих коллег, я решил установить более старую версию PHP, а именно 5.3.10. Это версия, которую он использует, и проект работает нормально.
Я искал пакеты Debian и смог установить PHP 5.3.29 (для Wheezy), но, опять же, проект совершенно не работает.
Как мне установить 5.3.10 на Jessie? Я нашел необходимые источники здесь.
http://php.net/releases/
Но я честно не знаю, какие функции мне нужны от PHP, и также не понимаю, какую папку apache мне нужно использовать при сборке. Онлайн-руководства показывали что-то похожее на apache/bin, но я не знаю о такой папке на моем ПК (да, apache установлен и работает нормально).
Есть ли другой способ, или я привязан к сборке PHP с нуля? В репозиториях jessie практически нет пакета 5.3.10. Только 5.6.
Я не рекомендую возвращаться к более ранним версиям PHP, но если у вас нет другого выбора, просто добавьте снимок Debian в свои репозитории и затем установите, указав номер версии.
Полное объяснение можно найти здесь: http://mstd.eu/index.php/2016/07/04/install-old-versions-of-software-on-debian-like-php-5-3/
Всю необходимую информацию можно найти здесь: http://snapshot.debian.org
Но если вам лень (как и мне), просто скопируйте и вставьте следующее:
Добавьте списки источников:
deb http://snapshot.debian.org/archive/debian/20120221T041601Z/ unstable main
deb-src http://snapshot.debian.org/archive/debian/20120221T041601Z/ unstable main
Теперь обновите apt, но игнорируйте даты истечения:
apt-get -o Acquire::Check-Valid-Until=false update
Теперь вы можете указать номер версии, который вам нужен, в данном случае 5.3.10-2
apt-get install php5=5.3.10-2
Чуть больше информации, если вам интересно, как я к этому пришел. Если вы найдете нужный пакет на снимке, в данном случае здесь: http://snapshot.debian.org/package/php5/5.3.10-2/, он сообщит вам дату, когда он был впервые добавлен 2012-02-21 04:16:01, поэтому просто добавьте это в список источников снимков следующим образом:
http://snapshot.debian.org/archive/debian/yyyymmddThhmmssZ
В приведенном примере это преобразуется в:
deb http://snapshot.debian.org/archive/debian/20120221T041601Z/
Ответ или решение
Установка PHP 5.3.10 на Debian Jessie
Введение
В рамках работы над проектом вы столкнулись с проблемами, связанными с несовместимостью используемого кода и версий PHP, что вызывает множество предупреждений о депрекации. Вы решили установить старую версию PHP — 5.3.10, и в этом руководстве я расскажу, как правильно выполнить эту задачу на базе Debian Jessie.
Установка с помощью Snapshot Debian
-
Добавление источников в репозиторий
Первым шагом вам необходимо добавить репозиторий snapshot, который содержит более старые версии программного обеспечения. Для этого откройте файл
/etc/apt/sources.list
в текстовом редакторе с правами суперпользователя:sudo nano /etc/apt/sources.list
Добавьте следующую строку, заменяя дату на соответствующую вашей версии:
deb http://snapshot.debian.org/archive/debian/20120221T041601Z unstable main
Также добавьте строку для исходных пакетов, если это необходимо:
deb-src http://snapshot.debian.org/archive/debian/20120221T041601Z unstable main
-
Обновление списков пакетов
После добавления репозитория нужно обновить списки пакетов, игнорируя даты истечения срока действия:
sudo apt-get -o Acquire::Check-Valid-Until=false update
-
Установка необходимой версии PHP
Теперь вы можете установить PHP 5.3.10. Убедитесь, что вы знаете точную версию пакета, которую хотите установить. В вашем случае это будет:
sudo apt-get install php5=5.3.10-2
Если установка прошла успешно, PHP 5.3.10 будет установлена на вашем сервере.
Проверка текущей версии PHP
Для того чтобы убедиться, что установлена нужная версия PHP, выполните следующую команду в терминале:
php -v
Она должна вывести информацию о версии PHP, которую вы только что установили.
Возможные проблемы и их решение
-
Конфликты с другими версиями PHP: Если у вас уже установлена более новая версия PHP (например, 5.6), вам может понадобиться удалить её перед установкой 5.3.10. Для этого выполните команду:
sudo apt-get remove php5
-
Зависимости: Иногда старые версии программ не могут быть установлены из-за отсутствия зависимостей. Убедитесь, что все зависимости установлены, или рассмотрите возможность их установки вручную.
Заключение
Установка устаревшей версии PHP, такой как 5.3.10, может помочь в краткосрочной перспективе для решения проблем с совместимостью вашего проекта. Однако, стоит помнить, что использование устаревших версий PHP связано с рядом рисков, включая проблемы с безопасностью и отсутствие поддержки. Для долгосрочных проектов рекомендуется анализировать возможность обновления кода или использования более современных решений.
Если у вас остались вопросы или возникли сложности, не стесняйтесь обращаться за помощью на специализированные форумы или к коллегам.