
Я сделал следующее:
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, версии и команды несовместимым образом. Давайте разберемся:
libapache2-mod-php5.6
присутствуетppa:ondrej/php
и это действительно тот PPA, который вы хотите использоватьphpdismod
это команда для отключения расширений PHP, а не для управления модулями Apache2,a2dismod
для этого вам нужноМодуль 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.