Ubuntu 14.04: problemas ao atualizar php para 5.6

5

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 desativar a versão antiga do php5 com:

sudo phpdismod php5

Eu recebo o erro: AVISO: O módulo php5 ini não existe em /etc/php/5.6/mods-available

Mesmo se eu mover o arquivo ini sob este diretório, isso me dá o mesmo erro. Eu 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, pois ainda pareço ter ambas as árvores de diretórios do php na minha instância. php5 / .. e php / 5.6

    
por Scott 23.05.2016 / 03:44

1 resposta

12

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

  1. libapache2-mod-php5.6 está presente em ppa:ondrej/php e esse é 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 de a2dismod para isso

  3. O módulo PHP Apache2 em ppa:ondrej/php5-5.6 é denominado libapache2-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-* packages primeiro, será necessário desativar o módulo php5 e ativar php5.6 module:

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

Existe um guia de migração disponível para o PPA pacotes.

    
por oerdnj 23.05.2016 / 14:10

Tags