PHP 5.3.10 на Debian Jessie

20290
xIcarus

По умолчанию в Debian Jessie я установил PHP 5.6 с помощью apt-get install php5. Проблема в том, что в проекте, над которым я работаю, функции сильно устарели, так что проект не работает должным образом, и я не смог отменить ни одно из этих предупреждений об устаревании. Они просто не уйдут.

Посоветовавшись с одним из моих коллег, я решил установить более старую версию PHP, а именно 5.3.10. Это версия, которую он использует, и проект работает нормально.

Я искал пакеты debian и мне удалось установить PHP 5.3.29 (для Wheezy), но опять-таки проект вообще не работает.

Как мне обойти установку 5.3.10 на Джесси? Я нашел нужный источник здесь. http://php.net/releases/ Но я, честно говоря, не знаю, какие функции мне нужны от PHP, и я также не понимаю, какую папку apache мне нужно использовать при сборке. Онлайн-руководства показали что-то похожее на apache / bin, но я не знаю о такой папке на моем ПК (да, apache установлен и работает правильно).

Есть ли другой способ, или я застрял в создании PHP с нуля? В репозитории jessie практически нет пакета 5.3.10. Только 5,6.

4

1 ответ на вопрос

11
twigg

Я бы не рекомендовал возвращаться назад к версиям 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/ 
Большое спасибо за ваш ответ. Кажется, это сработало, но я столкнулся с еще одной огромной проблемой. Я попытался удалить 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 8 лет назад 0
Обновление: мне удалось удалить все версии php в моей системе. Но когда я пытаюсь установить php 5.3.10 снова, как вы указали, он просто устанавливает php 5.6.7-1 по некоторым причинам. Есть идеи? Я даже пытался с умением (хотя это не должно иметь никакого значения), но безрезультатно. xIcarus 8 лет назад 0
@xIcarus извините, только что видел ваш реплей, я не всегда получаю обновления по какой-то причине. У меня есть только одна действующая система Debian, так что в настоящий момент я не могу проверить, какая версия возвращается при запуске политики apt-cache php5? twigg 8 лет назад 0
@xIcarus Извините, в моих вышеупомянутых пакетах была опечатка, убедитесь, что второй читает «deb-src», а не «deb-src deb». Во-первых, удалите все версии php, которые вы установили. Откройте /etc/apt/sources.list в nano или vim, убедитесь, что добавлены два вышеупомянутых списка источников, затем запустите 'apt-get -o Acquire :: Check-Valid-Before = false update' и затем запустите 'apt- политика кэширования php5 'вы должны увидеть обе версии 5.6.x и 5.3.10-2. Затем установите, передав номер версии 'apt-get install php5 = 5.3.10-2' twigg 8 лет назад 0

Похожие вопросы