Ubuntu 14.04: problemas ao atualizar o php para 5.6 usando ppa:ondrej

Ubuntu 14.04: problemas ao atualizar o php para 5.6 usando ppa:ondrej

Eu fiz o seguinte:

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

Quando tento desabilitar a versão antiga do php5 com:

sudo phpdismod php5

Recebo o erro: AVISO: o arquivo ini do módulo php5 não existe em /etc/php/5.6/mods-available

Mesmo se eu mover o arquivo ini para este diretório, ocorrerá o mesmo erro. Não sei o que estou perdendo??

Em geral, alguém pode me explicar como fazer com que minha instância use a versão recém-instalada, já que ainda pareço ter as duas árvores de diretórios php em minha instância. php5/.. e php/5.6

Responder1

Você está misturando diferentes PPAs, versões e comandos de maneira incompatível, vamos detalhar:

  1. libapache2-mod-php5.6está presente ppa:ondrej/phpe este é realmente o PPA que você deseja usar

  2. phpdismodé um comando para desabilitar extensões PHP, e não para gerenciar módulos Apache2, você precisa a2dismodpara isso

  3. O módulo PHP Apache2 ppa:ondrej/php5-5.6é denominadolibapache2-mod-php5

Então o correto seria:

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

Se você não desinstalar php5-*os pacotes primeiro, será necessário desabilitar o php5módulo e habilitar php5.6o módulo:

sudo a2dismod php5
sudo a2enmod php5.6

E opcionalmente adicione o repositório Apache2:

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

Há umguia de migraçãodisponível para pacotes PPA.

informação relacionada