Как установить php 5.3.14 ubuntu 12.10

Я должен установить эту конкретную версию на моем ubuntu 12.10, чтобы поддерживать совместимость с поставщиком. Я мог легко установить php 5.3.10 с помощью synaptic, но не смог обновиться до 5.3.14. Как я могу это сделать ? Apt-get не работает … Я видел несколько туто в Интернете, но ничего особенного в этом.

Удалите и очистите пакеты:

 apt-get remove php-apc php5 php5-mysql php5-gd php5-curl libapache2-mod-php5 apt-get autoremove 

Убедитесь, что вы понимаете, что делает эта команда перед запуском:

 dpkg -l | grep '^rc' | awk '{print $2}' | xargs dpkg --purge 

Обычно вы можете добавлять источники из старых версий, не беспокоясь слишком много:

/etc/apt/sources.list.d/precise.list

 deb http://mirror.rackspace.com/ubuntu/ precise main restricted deb-src http://mirror.rackspace.com/ubuntu/ precise main restricted deb http://mirror.rackspace.com/ubuntu/ precise-updates main restricted deb-src http://mirror.rackspace.com/ubuntu/ precise-updates main restricted deb http://mirror.rackspace.com/ubuntu/ precise universe deb-src http://mirror.rackspace.com/ubuntu/ precise universe deb http://mirror.rackspace.com/ubuntu/ precise-updates universe deb-src http://mirror.rackspace.com/ubuntu/ precise-updates universe 

Вот, возможно, слишком широкий, но, надеюсь, поучительный файл предпочтений apt:

/etc/apt/preferences.d/php_precise

 Package: php5 Pin: release a=precise Pin-Priority: 1001 Package: php* Pin: release a=precise Pin-Priority: 1001 Package: php-* Pin: release a=precise Pin-Priority: 1001 Package: libapache2-mod-php5 Pin: release a=precise Pin-Priority: 1001 Package: php5 Pin: release a=precise-updates Pin-Priority: 1001 Package: php* Pin: release a=precise-updates Pin-Priority: 1001 Package: php-* Pin: release a=precise-updates Pin-Priority: 1001 Package: libapache2-mod-php5 Pin: release a=precise-updates Pin-Priority: 1001 

Обновите и проверьте свои изменения

 apt-get update apt-cache policy <package> to check which version will be installed (eg php5) 

Проведите несколько тестовых прогонов, у вас могут быть зависимости, которые необходимо добавить в файл настроек

 apt-get install <everything you removed before> 

Это должно переопределить apt-get для получения последней версии PHP (но я думаю, что только стабильная, поэтому все альфа-версии бета-версии, вероятно, не будут установлены)

 sudo add-apt-repository ppa:ondrej/php5 sudo apt-get update sudo apt-get install php5 php5 -v 

Кроме того, вы можете обновить свои предпочтения, чтобы никогда не устанавливать более высокое обновление пакета. Вы можете сделать это, открыв / etc / apt / preferences и добавив следующее:

 Package: php Pin: release v=5.3.14*,a=stable,c=main,o=Debian,l=Debian Pin-Priority: 1001 

Это пример Debian, но Ubuntu основан на Debian, и, поскольку я не могу проверить его в реальном дистрибутиве Ubuntu на данный момент, я думаю, этого, скорее всего, будет достаточно.

Чтобы сделать эту «блочную блокаду», вам, вероятно, сначала нужно удалить php через apt-get, а затем переустановить ее, чтобы она придерживалась 5.3.14.