在 ubuntu 17.04 中安装 php 7.2 时出错
Error while installing php 7.2 in ubuntu 17.04
我在 运行 下面的命令
下遇到了这个错误
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'
您需要手动添加 ondrej PPA 才能在 Ubuntu17
上安装 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 来自源代码。
我遇到了类似的问题。
这个页面帮助我解决了它。
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
完全删除 PHP
的所有版本
sudo apt-get purge 'php*'
从未签名的存储库强制更新:
在您的 sources.list 中添加此选项(位于 /etc/apt/sources.list):
deb [trusted=yes] https://deb.sury.org/ stretch main
将当前软件包升级到最新版本:
sudo apt update
sudo apt upgrade
首先在您的系统上安装所需的软件包:
sudo apt install ca-certificates apt-transport-https
然后导入包签名密钥:
wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add -
之后为您系统上的 PHP 包配置 PPA:
echo "deb https://packages.sury.org/php/ stretch main" | sudo tee /etc/apt/sources.list.d/php.list
最后,使用以下选项之一安装 PHP 您的要求:
安装PHP7.2
sudo apt install php7.2-cli
安装PHP7.1
sudo apt install php7.1-cli
在我的例子中,安装了更新的 php (7.4),所以我只是用 7.4 版本替换了命令
sudo apt install php7.4 php7.4-common php7.4-cli php7.4-fpm
要了解 php 安装的版本,请使用:
php --version
如果您收到类似 php7.2
php7.2-curl
没有可安装候选或找不到任何软件包或依赖项的错误 php7.2-common
或 libcurl3
,请执行此操作。请记住根据您的要求更改您的包裹名称
你必须以成熟的方式去应对。安装 aptitude 这些 ubuntu 包管理器会找到所有依赖项,并会一一安装。
apt-get install aptitude
现在你必须检查 aptitude 是否可以下载它,如果按照说明下载它
sudo aptitude install php7.2-curl
如果您遇到这样的错误
E: Unable to locate package php7.2-curl
E: Couldn't find any package by glob 'php7.2-curl'
任何类型的错误我不是在谈论正确的这些错误
再次尝试添加 php 包
sudo apt-add-repository ppa:ondrej/php
sudo apt-get update
现在试试这个命令
sudo aptitude install php7.2-curl
Aptitude 会询问您是否要保留所有依赖项的当前版本
The following actions will resolve these dependencies:
Keep the following packages at their current version:
1) php7.2-curl [Not Installed]
Accept this solution? [Y/n/q/?]
输入 n
然后 Enter
Aptitude 将找到所有依赖项并要求您安装所有包类型
y
再次
y
然后
systemctl restart apache2
对于 rhel 的 centos
systemctl restart httpd
它不会默认启用 PHP 7.2 FPM。
注意:要在 Apache2 中启用 PHP 7.2 FPM,请执行
a2enmod proxy_fcgi setenvif
a2enconf php7.2-fpm
此方法不仅针对此错误您还可以找到任何php apache2 或ubuntu system package using aptitude 解决方案。
Upvote if you find your solution
我在 运行 下面的命令
下遇到了这个错误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'
您需要手动添加 ondrej PPA 才能在 Ubuntu17
上安装 PHP7.2sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php7.2
或者通过克隆 git 存储库从源代码编译它,签出您想要的版本,然后进行安装
有关从源代码编译 PHP 的更多信息,请查看 how to build/compile PHP 来自源代码。
我遇到了类似的问题。 这个页面帮助我解决了它。 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
完全删除 PHP
的所有版本sudo apt-get purge 'php*'
从未签名的存储库强制更新:
在您的 sources.list 中添加此选项(位于 /etc/apt/sources.list):
deb [trusted=yes] https://deb.sury.org/ stretch main
将当前软件包升级到最新版本:
sudo apt update sudo apt upgrade
首先在您的系统上安装所需的软件包:
sudo apt install ca-certificates apt-transport-https
然后导入包签名密钥:
wget -q https://packages.sury.org/php/apt.gpg -O- | sudo apt-key add -
之后为您系统上的 PHP 包配置 PPA:
echo "deb https://packages.sury.org/php/ stretch main" | sudo tee /etc/apt/sources.list.d/php.list
最后,使用以下选项之一安装 PHP 您的要求:
安装PHP7.2
sudo apt install php7.2-cli
安装PHP7.1
sudo apt install php7.1-cli
在我的例子中,安装了更新的 php (7.4),所以我只是用 7.4 版本替换了命令
sudo apt install php7.4 php7.4-common php7.4-cli php7.4-fpm
要了解 php 安装的版本,请使用:
php --version
如果您收到类似 php7.2
php7.2-curl
没有可安装候选或找不到任何软件包或依赖项的错误 php7.2-common
或 libcurl3
,请执行此操作。请记住根据您的要求更改您的包裹名称
你必须以成熟的方式去应对。安装 aptitude 这些 ubuntu 包管理器会找到所有依赖项,并会一一安装。
apt-get install aptitude
现在你必须检查 aptitude 是否可以下载它,如果按照说明下载它
sudo aptitude install php7.2-curl
如果您遇到这样的错误
E: Unable to locate package php7.2-curl
E: Couldn't find any package by glob 'php7.2-curl'
任何类型的错误我不是在谈论正确的这些错误
再次尝试添加 php 包
sudo apt-add-repository ppa:ondrej/php
sudo apt-get update
现在试试这个命令
sudo aptitude install php7.2-curl
Aptitude 会询问您是否要保留所有依赖项的当前版本
The following actions will resolve these dependencies:
Keep the following packages at their current version:
1) php7.2-curl [Not Installed]
Accept this solution? [Y/n/q/?]
输入 n
然后 Enter
Aptitude 将找到所有依赖项并要求您安装所有包类型
y
再次
y
然后
systemctl restart apache2
对于 rhel 的 centos
systemctl restart httpd
它不会默认启用 PHP 7.2 FPM。 注意:要在 Apache2 中启用 PHP 7.2 FPM,请执行
a2enmod proxy_fcgi setenvif
a2enconf php7.2-fpm
此方法不仅针对此错误您还可以找到任何php apache2 或ubuntu system package using aptitude 解决方案。
Upvote if you find your solution