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

18

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

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

Как я могу понизить рейтинг с 5.4 до 5.3?

На моем сервере запущен Ubuntu 11.04.

    
задан MacMac 26.03.2012 в 23:28
источник

5 ответов

11

Перенос 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 }' | 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

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

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

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

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

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

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

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

dpkg --get-selections | grep ^php5 | sed s/install/hold/g | sudo dpkg --set-selections

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

sudo dpkg --get-selections | grep ^php

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

Вы также можете хранить пакеты с помощью aptitude, например:

sudo aptitude hold php5

Возврат:

sudo aptitude unhold php5
    
ответ дан kenorb 21.11.2012 в 10:06
4

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

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

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

    
ответ дан Luís Bianchin 28.03.2012 в 02:18
2

У меня была аналогичная проблема.

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

Вы должны помнить, что 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
    
ответ дан Danish Javed 11.06.2012 в 15:50
2

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

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

sudo apt-get install Package=Version
    
ответ дан Ten-Coin 27.03.2012 в 09:28
1

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

Предполагая, что у вас больше нет repo в apt-источниках, если вы запустите:

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

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

    
ответ дан nathwill 28.03.2012 в 05:34