Fiz minhas atualizações habituais de pacotes de servidores hoje e descobri que ppa:ondrej/php5-5.6
foi preterido e agora precisamos fazer o upgrade para ppa:ondrej/php
.
As instruções básicas fornecidas devem ser executadas:
sudo add-apt-repository ppa:ondrej/php
E depois:
sudo apt-get update
sudo apt-get upgrade --show-upgraded
Olhando para o novo repositório, os nomes parecem não estar completamente alinhados, então acho que precisarei fazer algumas instalações do apt-get para obter todos os pacotes corretos instalados. Parece também que os subpacotes (isto é, php-gd) serão instalados para todas as versões do php e também poderão instalar o php 5.5 e o php 7.0 ( /programming/37197539/an-issue-after-ppaondrej- deprecação do php5 )
Então, minha pergunta é: qual é a maneira mais limpa de "alternar" ppas e limpar os pacotes existentes, considerando que este é um servidor de produção? Devo tentar remover todos os pacotes instalados do PPA anterior e / ou remover o PPA do meu sistema?
Ainda não está na página principal do PPA, mas a mensagem de atualização foi descontinuada em junho de 2016, portanto, não é um cronograma muito longo para reconstruir nossa imagem de servidor.
Eu encontrei esta página, que fornece instruções para mudar a versão PHP que o apache usa: https://dzone.com/articles/php-70-and-56-on-ubuntu
Respostas:
Os
php5-*
pacotes antigos são co-instaláveis com o novophpX.Y-*
esquema, portanto, a primeira coisa que você precisa fazer é instalar e ativar novos pacotes:Apache 2.4
Você precisa instalar novos
libapache2-mod-phpX.Y
pacotes, desativar o antigo php5 e ativar o novo módulo de versão, fe para PHP 5.6:NGINX / Apache 2.4 com PHP-FPM
Isso é ainda mais simples: basta instalar
phpX.Y-fpm
e alterar o caminho do soquete na configuração do servidor da web/run/php/phpX.Y-fpm.sock
e copiar a configuração antiga, fe para PHP 5.6:Se você definiu mais pools de FPM, precisará copiar a configuração antiga para o novo caminho, novamente para o PHP 5.6:
Agora, se você deseja remover os pacotes antigos, que você pode funcionar em alguns problemas, porque pode haver pacotes que requerem idade PHP5 * nomes, você pode querer adicionar
ppa:ondrej/php5-compat
que fornecem fina camada de pacotes de compatibilidade que mapaphp5-<foo>
paraphp5.6-<foo>
para php5 principal * Pacotes:Definitivamente, tente isso primeiro em um ambiente de não produção ! O lado bom é que isso mantém
/etc/php5
intocada a configuração antiga , para que você possa migrar as configurações antigas.Após atualizar os principais pacotes PHP, convém procurar o restante dos
php5-*
pacotes e instalar seus equivalentes, por exemplo,Prepararei uma atualização para o repositório php5-compat, que fará esses mapeamentos automaticamente.
O texto mais atualizado pode ser sempre encontrado nos Wikis DEB.SURY.ORG PPA .
fonte
dpkg --get-selections | grep php
para listar todos os pacotes atuais para ajudar as pessoas a mapear as coisas (embora o ppa de mapeamento seja super útil por não ter que fazer isso e deixar que funcione.) Também pode ser bom para incluirsudo add-apt-repository --remove ppa:whatever/ppa5-5.6