我想在 Ubuntu 20.04 上为我的 Nginx Web 服务器安装 PHP 7.3,当我尝试安装 7.4 版本时一切正常,但对于 7.3 版本,我收到以下错误:
E: Unable to locate package php7.3
然后,我运行以下命令:
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install -y php7.3
但是,它再次显示无法找到包。Ubuntu 20.04 是否支持 PHP 7.3 或更低版本?如果支持,我的安装过程有什么问题?
答案1
也许当您提出问题时没有提供支持,但您需要做的就是按照问题中描述的方式进行。
将 ondrej PPA 存储库添加到您的系统。
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
安装 php7.3 并检查它是否已安装。
sudo apt install -y php7.3
php -v
这也适用于 php 7.4、php7.2 和 php5.6。只需更改相关数字即可。
答案2
我已解决了 php7.2 的问题,但不确定 php7.3 的问题。
我们仍然可以通过终端安装php7.2 apt install php7.2
:。
但是我们也必须安装 php7.4,否则它将删除主 php 包。这可能需要一些研究,但这是我的说明(针对 php7.2):
(sudo add-apt-repository ppa:ondrej/php
没有必要,可以删除)
安装php7.2:
sudo apt install php7.2
转到此链接并下载 .deb 文件https://packages.ubuntu.com/bionic/amd64/libapache2-mod-php7.2/download(不要立即安装,我们必须手动将其放置在系统中)
提取 libapache2。其中将有一个“数据”档案。它有两个文件夹
etc
和usr
。将这些文件夹复制到根目录的相应目录中。现在选择 php7.2 而不是 php7.4,因为 php7.4 是默认的,输入以下命令
sudo a2disconf php7.4-cgi sudo a2dismod php7.4 sudo a2enconf php7.2-cgi sudo a2enmod php7.2 sudo systemctl restart apache2
虽然
php -v
显示版本 7.4(因为它是最新版本),但它仍然使用 php7.2要从 php7.4 切换到 php7.2 旧版本:
sudo update-alternatives --set php /usr/bin/php7.2
现在
php -v
默认显示版本 7.2
它现在应该可以像 php7.2 一样工作
答案3
今天我刚刚意识到,随着最新的 Ubuntu PPA 更新,旧版 PHP 现已可用。
因此,只需安装 php7.3 或 7.2 就sudo apt update
可以开始了!
答案4
存储库似乎有点不对劲。我更改了/etc/apt/sources.list.d/ondrej-ubuntu-php-focal.list
它的文件,并将焦点更改为 eoan(19.10 Ubuntu 版本),然后我又可以看到所有软件包了。
我已经使用它进行了安装,但尚未进行进一步测试。