Ubuntu 14.04: проблемы при обновлении php до 5.6 с помощью ppa:ondrej

Ubuntu 14.04: проблемы при обновлении php до 5.6 с помощью ppa:ondrej

Я сделал следующее:

sudo add-apt-repository ppa:ondrej/php5-5.6
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install php5
sudo apt-get install libapache2-mod-php5.6
sudo add-apt-repository ppa:ondrej/apache2

Когда я пытаюсь отключить старую версию php5 с помощью:

sudo phpdismod php5

Я получаю сообщение об ошибке: ПРЕДУПРЕЖДЕНИЕ: Файл INI модуля php5 не существует в /etc/php/5.6/mods-available

Даже если я перемещаю файл ini в этот каталог, он выдает мне ту же ошибку. Я не знаю, что я упускаю??

В общем, может ли кто-нибудь объяснить мне, как заставить мой экземпляр использовать недавно установленную версию, поскольку у меня, похоже, все еще есть оба дерева каталогов php на моем экземпляре. php5/.. и php/5.6

решение1

Вы смешиваете разные PPA, версии и команды несовместимым образом. Давайте разберемся:

  1. libapache2-mod-php5.6присутствует ppa:ondrej/phpи это действительно тот PPA, который вы хотите использовать

  2. phpdismodэто команда для отключения расширений PHP, а не для управления модулями Apache2, a2dismodдля этого вам нужно

  3. Модуль PHP Apache2 в ppa:ondrej/php5-5.6названииlibapache2-mod-php5

Поэтому правильным будет:

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get purge php5-common # remove and purge old PHP 5.x packages
sudo apt-get install libapache2-mod-php5.6

Если вы сначала не удалили php5-*пакеты, вам необходимо отключить php5модуль и включить php5.6модуль:

sudo a2dismod php5
sudo a2enmod php5.6

И по желанию добавьте репозиторий Apache2:

sudo add-apt-repository ppa:ondrej/apache2
sudo apt-get update
sudo apt-get dist-upgrade

Естьруководство по миграциидоступно для пакетов PPA.

Связанный контент