Недавно я обновил PHP до 5,4, но это, кажется, перестало работать на мне, потому что APC не работает с ним, однако это не дало мне выбора, кроме как понизить до 5,3, как я могу сделать это?
Я выполнился apt-get remove php5
и apt-get purge php5
затем я удалил 5.4 repo из Кв. - затем выполняются apt-get install php5
, это говорит, что устанавливало 5.3, и я перезапустил php-fastcgi
и php5-fpm
но когда я работаю php -v
это говорит 5.4.
Как я могу понизить от 5,4 до 5,3?
Мой сервер запускает Ubuntu 11.04.
Сначала выполните apt-cache showpkg php5
. Там вы увидите версию и другую информацию о пакете php5.
Чтобы установить конкретную версию, запустите apt-get install <package name>=<version>
В моем Ubuntu 11.10 это будет apt-get install php5=5.3.6-13ubuntu3.6
Может быть, это руководство поможет вам: Как понизить версию пакета в Ubuntu
Итак, чтобы загрузить и установить любой пакет любой доступной версии, вы должны сделать это:
[ 110]У меня была похожая проблема.
Я удалил репозитории.
Вы должны помнить, что 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
В 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, вы можете выполнить следующую команду:
echo "php5 hold" | sudo dpkg --set-selections
Чтобы сохранить все пакеты PHP, выполните следующую команду:
[ 112]Следующая команда покажет вам состояние ваших пакетов php:
sudo dpkg --get-selections | grep ^php
Вы также можете хранить пакеты с использованием aptitude, например:
[ 114]Unhold:
sudo aptitude unhold php5
из описанных вами шагов вы забыли apt-get update после очистки php5.4 и удаления репо php5.4.
Если у вас больше нет репо в подходящих источниках, если вы запустите:
apt-get remove --purge php5 && apt-get update && apt-get install php5
, вы должны вернуться на 5.3