Как перейти с PHP 5.4 на 5.3

Недавно я обновил PHP до 5.4, но мне кажется, что он не работает, потому что APC не работает с ним, однако у меня не было выбора, кроме как перейти на 5.3, как я могу это сделать?

[117 ] Я выполнил apt-get remove php5 и apt-get purge php5, затем удалил репозиторий 5.4 из apt-get, затем выполнил apt-get install php5, он говорит, что устанавливал 5.3, и я перезапустил php-fastcgi и php5-fpm, но когда я запустил php -v это говорит 5.4.

Как мне понизить версию с 5.4 до 5.3?

Мой сервер работает под управлением Ubuntu 11.04.

18
задан 31.12.2019, 10:22

5 ответов

из описанных вами шагов вы забыли apt-get update после очистки php5.4 и удаления репо php5.4.

Если у вас больше нет репо в подходящих источниках, если вы запустите:

apt-get remove --purge php5 && apt-get update && apt-get install php5

, вы должны вернуться на 5.3

1
ответ дан 31.12.2019, 10:23

Понижение версии PHP с 5.4 до 5.3

В Ubuntu процесс понижения - это действительно беспорядок. Вот скрипт, который вы могли бы найти полезным ( он удаляет PHP 5.4 и устанавливает PHP 5.3 ):

sudo apt-get remove --purge `dpkg -l | grep php | grep -w 5.4 | awk '{print $2}' | xargs`
sudo apt-get install php5=5.3.10-1ubuntu3.4 php5-cli=5.3.10-1ubuntu3.4 php5-common=5.3.10-1ubuntu3.4 libapache2-mod-php5=5.3.10-1ubuntu3.4
sudo apt-get install php5=5.3.10-1ubuntu3.4 php5-cli=5.3.10-1ubuntu3.4 php5-common=5.3.10-1ubuntu3.4 libapache2-mod-php5=5.3.10-1ubuntu3.4
sudo apt-get install php-pear=5.3.10-1ubuntu3.4 php5-curl=5.3.10-1ubuntu3.4 php5-gd=5.3.10-1ubuntu3.4 php5-intl=5.3.10-1ubuntu3.4 php5-mysql=5.3.10-1ubuntu3.4 php5-pspell=5.3.10-1ubuntu3.4 php5-recode=5.3.10-1ubuntu3.4 php5-snmp=5.3.10-1ubuntu3.4 php5-sqlite=5.3.10-1ubuntu3.4 php5-tidy=5.3.10-1ubuntu3.4 php5-xmlrpc=5.3.10-1ubuntu3.4 php5-xsl=5.3.10-1ubuntu3.4

Где доступные версии вы можете проверить командой: apt-cache showpkg php5 [ 1112]

После установки проверьте это командой: php --version

Пожалуйста, будьте осторожны и не устанавливайте другие пакеты без указания версии пакета (например, php5-xcache), иначе apt-get будет замените ваш экземпляр PHP на 5.4 снова!

Чтобы этого не случилось, вы можете хранить эти пакеты.

Удержание пакетов с помощью dpkg

Чтобы удерживать пакеты с помощью dpkg, вы можете выполнить следующую команду:

echo "php5 hold" | sudo dpkg --set-selections

Чтобы сохранить все пакеты PHP, выполните следующую команду:

[ 112]

Следующая команда покажет вам состояние ваших пакетов php:

sudo dpkg --get-selections | grep ^php

Удержание пакетов с использованием aptitude

Вы также можете хранить пакеты с использованием aptitude, например:

[ 114]

Unhold:

sudo aptitude unhold php5
11
ответ дан 31.12.2019, 10:23

Сначала выполните apt-cache showpkg php5. Там вы увидите версию и другую информацию о пакете php5.

Чтобы установить конкретную версию, запустите apt-get install <package name>=<version>

В моем Ubuntu 11.10 это будет apt-get install php5=5.3.6-13ubuntu3.6

4
ответ дан 31.12.2019, 10:24

У меня была похожая проблема.

Я удалил репозитории.

Вы должны помнить, что php -v запускает исполняемый файл в пакете php-cli, поэтому вы также должны удалить его.

Итак, я сделал следующее, чтобы вернуться к 5.3.10:

sudo apt-get remove php5-cli php5 php5-common
sudo apt-get install php5 php5-mysql php5-curl

Теперь это должно показать желаемую версию:

php -v
2
ответ дан 31.12.2019, 10:24

Может быть, это руководство поможет вам: Как понизить версию пакета в Ubuntu

Итак, чтобы загрузить и установить любой пакет любой доступной версии, вы должны сделать это:

[ 110]
2
ответ дан 31.12.2019, 10:25

Теги

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