Vou dividir minha resposta em duas partes. A primeira parte descreve como o problema ocorreu, a segunda parte é a resposta real ao seu problema.
Descrição
Disclaimer: A maioria da minha descrição é basicamente especulação, como eu não posso realmente saber o que você fez. Mas é o cenário mais provável, pois não consigo pensar em outra maneira que acabe dando a você o problema descrito por você.
A partir do problema que você descreve, parece que você instalou um PPA de terceiros que instalou o PHP 7.1 em seu sistema. O PPA mais provável é o PPA do Ondrej .
Quando você instalou o PHP pela primeira vez, instalou o seguinte método:
sudo apt install php
O pacote php
é apenas um pacote meta e não contém os binários necessários. Depende da versão mais recente do pacote PHP disponível (por padrão, 7.0). Portanto, quando você instala, o pacote php7.0
é instalado junto com as dependências de php7.0
(e libapache2-mod-php7.0
se você tiver apache2
) e todas essas dependências são marcadas no gerenciador de pacotes como "instaladas automaticamente". / p>
$ apt show php Package: php Version: 1:7.0+35ubuntu6 Priority: optional Section: php Source: php-defaults (35ubuntu6) Origin: Ubuntu Maintainer: Ubuntu Developers Original-Maintainer: Debian PHP Maintainers Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 11.3 kB Depends: php7.0 Supported: 5y Download-Size: 2,832 B APT-Manual-Installed: yes APT-Sources: http://archive.ubuntu.com/ubuntu xenial/main amd64 Packages Description: server-side, HTML-embedded scripting language (default) PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. . This package is a dependency package, which depends on Debian's default PHP version (currently 7.0).
Eu corajosamente as partes do resultado do comando, o que explica o que acabei de mencionar.
O PHP PPA da Ondrej oferece várias versões do PHP que podem ser instaladas lado a lado. Então, quando você adicionou seu sistema, apt
encontrou uma versão mais nova do PHP, então substituiu php7.0
* por php7.1
junto com quaisquer pacotes relacionados que foram instalados automaticamente.
Resposta
Existem dois métodos para corrigir seus problemas.
-
Remova completamente o PPA de terceiros e reverta para os pacotes PHP padrão
sudo apt install ppa-purge sudo ppa-purge ppa:ondrej/php
-
O PPA da Ondrej oferece várias versões do PHP, para que você possa instalar mais de uma versão ao lado umas das outras. Mas você habilitaria apenas o módulo
php7.0
do Apache.sudo apt install php7.0 libapache2-mod-php7.0 sudo a2dismod php7.1 sudo a2enmod php7.0 sudo apache2ctl restart
Instalá-los da maneira anterior definiria o pacote
php7.0
como "instalado manualmente" emapt
, para que não sejam removidos automaticamente sem você removê-los. Não se esqueça de instalar módulos PHP necessários para o php7.0 (comosudo apt install php7.0-mysql
)
* php7.0
pode ter sido mantido em seu sistema instalado se você tivesse instalado manualmente um módulo especificamente para o php7.0 (por exemplo php7.0-mysql
).