Вопрос PHP 5.3.10 на Debian Jessie


По умолчанию в 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.


4
2018-05-12 13:02


происхождения




ответы:


Я бы не рекомендовал идти назад на 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/

11
2018-05-12 14:08



Большое вам спасибо за ваш ответ. Кажется, что сработало, но я столкнулся с еще одной огромной проблемой. Я попытался очистить php5 от своей системы, используя apt-get purge php *. Это, похоже, сделало трюк, но после того, как я установил php 5.3.10, как вы указали, если я распечатаю phpinfo (), это покажет мне, что версия 5.6.7-1, и если я нахожу php -v в эмуляторе терминала, это значит, что в моей системе есть php 5.3.29.? Я также попытался очистить apache и удалить обе папки apache и php безрезультатно. Я сделал что-то неправильно? Не следует ли apt-get purge удалить указанные пакеты? и почему 2 версии php? - xIcarus
Обновление: мне удалось очистить все версии php в моей системе. Но когда я пытаюсь установить php 5.3.10 снова, как вы указали, он просто устанавливает php 5.6.7-1 по какой-то причине. Любые идеи? Я даже пытался с умением (хотя это не должно меняться), но безрезультатно. - xIcarus
@xIcarus извините, только что видел ваш повтор, я не всегда получаю обновления по какой-то причине. У меня есть только одна живая система Debian, поэтому на данный момент не удается проверить, какая версия возвращается при запуске политики apt-cache php5? - twigg
@xIcarus жаль, что у меня была опечатка в моих вышеперечисленных пакетах, убедитесь, что вторая читает «deb-src», а не «deb-src deb». Во-первых, удалите все версии php, которые вы установили. Откройте файл /etc/apt/sources.list в nano или vim, убедитесь, что эти два списка источников добавлены, затем запустите 'apt-get -o Acquire :: Check-Valid-Until = false update', а затем запустите 'apt- политики кэша php5 'вы должны увидеть как версию 5.6.x, так и 5.3.10-2. Затем установите передачу номера версии «apt-get install php5 = 5.3.10-2» - twigg