Como saber qual versão do PHP 7 está instalada e como atualizá-la para a versão mais recente?

0

Estou usando o Vagrant box (Homestead na verdade) com o Ubuntu. Quando eu uso PHP 5.6 box para

php -v

Estou recebendo:

PHP 5.6.13-1+deb.sury.org~trusty+3 (cli)

então está claro que é PHP 5.6.13.

Mas quando estou rodando com o PHP 7, estou chegando:

PHP 7.0.0-2+deb.sury.org~trusty+1 (cli) ( NTS )

e eu realmente não tenho certeza se é o PHP 7.0 ou se é o PHP 7.0.2 (eu não entendo o que o -2 está aqui na versão do PHP).

Estou executando Ubuntu 14.04.3 LTS (GNU/Linux 3.19.0-25-generic x86_64) nesta caixa

Quando eu corro:

dpkg --get-selections | grep php

Estou recebendo:

php-common                                      install
php-curl                                        install
php-gd                                          install
php-imap                                        install
php-mysql                                       install
php-pgsql                                       install
php-sqlite3                                     install
php7.0-cli                                      install
php7.0-common                                   install
php7.0-curl                                     install
php7.0-dev                                      install
php7.0-fpm                                      install
php7.0-gd                                       install
php7.0-imap                                     install
php7.0-json                                     install
php7.0-mysql                                    install
php7.0-opcache                                  install
php7.0-pgsql                                    install
php7.0-sqlite3                                  install

Quando eu corro:

sudo apt-get upgrade php-common

Estou chegando no momento:

php-common is already the newest version.
php-common set to manually installed.

Então a questão é - se é o PHP 7.0 e não o 7.0.2, como eu posso atualizar para a versão 7.0.2 ou talvez ainda não esteja disponível como pacote para o Ubuntu?

EDITAR

Como sugerido, corri:

sudo apt-get update

e

sudo apt-get upgrade

Houve informações sobre a instalação do PHP 7.0.2, no entanto, quando executo php -v , ainda estou recebendo:

PHP 7.0.0-2+deb.sury.org~trusty+1 (cli)

E agora, quando eu corro

 sudo apt-get upgrade

Estou recebendo:

vagrant@homestead:~$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  libssl-dev nfs-common openssl php7.0-cli php7.0-dev php7.0-fpm
0 upgraded, 0 newly installed, 0 to remove and 6 not upgraded.

E quando eu corro:

apt-cache policy php7.0-cli

Estou recebendo:

vagrant@homestead:~$ apt-cache policy php7.0-cli
php7.0-cli:
  Installed: 7.0.0-2+deb.sury.org~trusty+1
  Candidate: 7.0.2-4+deb.sury.org~trusty+1
  Version table:
     7.0.2-4+deb.sury.org~trusty+1 0
        500 http://ppa.launchpad.net/ondrej/php-7.0/ubuntu/ trusty/main amd64 Packages
 *** 7.0.0-2+deb.sury.org~trusty+1 0
        100 /var/lib/dpkg/status
    
por Marcin Nabiałek 20.01.2016 / 18:44

1 resposta

3

Primeira parte, o que está instalado.

Isso tudo volta aos esquemas de versão de pacotes e por que você está ficando confuso. Então, vamos dissecá-lo em suas partes individuais. Assumindo que está de acordo com as versões típicas do Debian e tal, então ...

Tome php7 você declarou:

PHP 7.0.0-2+deb.sury.org~trusty+1

Esta string é dissecada da seguinte forma:

  • PHP = o nome do software
  • 7.0.0 = a versão desse software (dos próprios esquemas de versão do PHP)
  • -2 = o número da Revisão do Pacote - ou seja, quantas mudanças de embalagem diferentes foram feitas - este seria o "Segundo Pacote", o que significa que elas fizeram alterações na embalagem ou correções aplicadas através de quilt na segunda versão. / li>
  • +deb.sury.org indica a origem do repositório - é de deb.sury.org repos, que na verdade são PPAs em execução no Launchpad, com pacotes feitos por quem executa o site deb.sury.org .
  • ~trusty+1 - Indica mudanças adicionais específicas da versão feitas para o repositório - este é um pacote do Ubuntu Trusty, e provavelmente é a primeira ou segunda revisão do pacote (dependendo se eles já tiveram +0 ou não) específico para Confiante.

TL; DR: Este é um pacote PHP 7.0.0, mas teve algumas revisões desde o pacote inicial do PHP 7.0.0.

Segunda parte, como obter o PHP 7.0.2.

O repositório que você está usando é um PPA - provavelmente esse aqui .

Foi informado que 7.0.2 está disponível e você precisa executar apt-get update && apt-get upgrade . Isso deve colocá-lo nas versões corretas. Se isso não acontecer, tente usar apt-get dist-upgrade , pois pode haver outras dependências que precisam ser adicionadas e a atualização foi retida por causa disso.

    
por Thomas Ward 20.01.2016 / 18:48