在命令下运行时出现此错误
sudo apt install php7.2 php7.2-common php7.2-cli php7.2-fpm
读取状态信息...完成
E: Unable to locate package php7.2
E: Couldn't find any package by glob 'php7.2'
E: Couldn't find any package by regex 'php7.2'
E: Unable to locate package php7.2-common
E: Couldn't find any package by glob 'php7.2-common'
E: Couldn't find any package by regex 'php7.2-common'
E: Unable to locate package php7.2-cli
E: Couldn't find any package by glob 'php7.2-cli'
E: Couldn't find any package by regex 'php7.2-cli'
E: Unable to locate package php7.2-fpm
E: Couldn't find any package by glob 'php7.2-fpm'
E: Couldn't find any package by regex 'php7.2-fpm'
答案 0 :(得分:20)
您需要手动添加ondrej PPA才能在Ubuntu 17上安装PHP7.2
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php7.2
或者通过克隆git存储库从源代码进行编译,签出所需的版本,进行安装并安装
有关从源代码编译PHP的更多信息,请从源代码中检出how to build/compile PHP。
答案 1 :(得分:5)
我有类似的问题。 此页面帮助我解决了该问题。 https://tecadmin.net/install-php-debian-9-stretch/
具体来说,在安装php之前先运行这些命令
sudo apt install ca-certificates apt-transport-https
wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add -
echo "deb https://packages.sury.org/php/ stretch main" | sudo tee /etc/apt/sources.list.d/php.list
答案 2 :(得分:2)
STEP(0)-------完全删除所有版本的PHP
sudo apt-get purge 'php*'
STEP(1)--------从未签名的存储库强制更新:
在您的sources.list(位于/etc/apt/sources.list)中添加此选项:
deb [trusted=yes] https://deb.sury.org/ stretch main
STEP(2)-------将当前软件包升级到最新版本:
sudo apt update
sudo apt upgrade
STEP(3)--------
首先在系统上安装所需的软件包。
然后导入软件包签名密钥。
之后,为系统上的PHP软件包配置PPA。
sudo apt install ca-certificates apt-transport-https
wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add -
echo "deb https://packages.sury.org/php/ stretch main" | sudo tee /etc/apt/sources.list.d/php.list
现在使用以下选项之一来安装您所需的PHP。
用于安装PHP 7.2
sudo apt install php7.2-cli
用于安装PHP 7.1
sudo apt install php7.1-cli
答案 3 :(得分:0)
在我的情况下,安装了更新的php(7.4),所以我只用7.4版本替换了命令
sudo apt install php7.4 php7.4-common php7.4-cli php7.4-fpm
要了解已安装的php版本,请使用:
php --version