无法找到软件包libapache2-mod-php7


Unable to locate package libapache2-mod-php7

我尝试使用以下命令在 ubuntu 16.04 中安装 php:

sudo apt-get install php7.0-mysql php7.0-curl php7.0-json php7.0-cgi  php7.0 libapache2-mod-php7

但它说

无法找到软件包libapache2-mod-php7

我应该跳过这个还是通过其他方式安装?

包的名称是libapache2-mod-php7.0最后再试一次,.0,它应该可以工作。

在 Ubuntu 18.04 上,我必须先添加下面的存储库。添加存储库后,我就可以安装 php7.x 项。

sudo add-apt-repository ppa:ondrej/php

来源: https://websiteforstudents.com/apache2-with-php-7-1-support-on-ubuntu-18-04-lts-beta-server/

如果您使用的是 Ubuntu 17.04/17.10 或更高版本,请使用 php7.1 而不是 7.0,因为它不再可用。

sudo apt-get install php7.1

在发布后时,Ubuntu 16.04 是较新的版本之一,因此软件包更改为 php7.0,但随着时间的推移,它将是 7.1 到 7.2 等...... 我没有时间弄清楚最新的软件包是什么,我不依赖于特定的版本。因此,如果您希望安装最新版本的软件包而不必知道正确的版本号,只需删除版本号,就会安装适用于您正在使用的发行版的最新版本。就我而言,我使用的是 Ubuntu 17.10,而 php 版本不同,所以我使用以下命令行来获取最新版本。

sudo apt-get install apache2 php-mysql libapache2-mod-php mysql-server

它安装了php 7.1和所有正确的依赖项。

因此,如果您不需要特定版本,而只是想要与发行版一起使用的最新版本,请删除版本号并使用上面的命令行。

很可能是本地包索引没有更新;试试

sudo apt-get update

,然后再次运行上一个命令。

顺便说一句,现在有一个程序apt据说比apt-getapt-cache等更用户友好(请参阅Ask Ubuntu上的此问题(。因此,您的命令可能已被替换为

sudo apt update
sudo apt install <the packages>

以获得稍微更好的用户界面。

可能这个问题更适合Ask Ubuntu社区。

只测试更高版本的php例如运行:

sudo apt-get install php7.4-mysql php7.4-curl php7.4-json php7.4-cgi  php7.0 libapache2-mod-php7.4

Apache 服务器无法启动,因为未安装 libapache2-mod-php7.0:默认情况下,aptitude 或 apt 安装 php7.0-common 版本 7.8.13,这是不适应的,libapache2-mod-php 需要 7.0.8

  1. 删除 PHP 通用
  2. 下载 http://packages.ubuntu.com/xenial/php7.0-common deb软件包并安装它,如果它与php7.0-json,readline,cli,opache有关然后在上面的文本框中西奇关于这些库并以这种方式安装它们
  3. 杰森
  4. 奥帕奇
  5. 命令行界面
  6. 阅读线

  7. 安装 libapache2-mod-php7.0重新启动阿帕奇 2服务 Apache 2 重启

它必须工作可能祝你好运!

尝试使用

Ubuntu 16.04:

sudo apt-get update;
sudo apt-get install php7.0-fpm php7.0-mysql <other packages>;

对于 Ubuntu 14.04:

sudo apt-get update;
sudo apt-get install php5-mysql php5-mysql <other packages>;

它应该是:

sudo apt-get install libapache2-mod-php7.0

sudo apt-get install libapache2-mod-php7.1

为我工作(16.04Ubuntu(。

如果您收到错误,例如php7.2 php7.2-curl libapache2-mod-php没有可安装的候选或找不到任何包或依赖项php7.2-commonlibcurl3这样做。Remeber 根据您的要求更改软件包名称

你必须以成熟的方式解决。安装能力 这些 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

对于 Centos 的 rhel

systemctl restart httpd

默认情况下,它不会启用 PHP 7.2 FPM。注意:要在 Apache2 中启用 PHP 7.2 FPM,请执行

a2enmod proxy_fcgi setenvif
a2enconf php7.2-fpm

此方法不仅适用于此错误,您还可以使用aptitude找到任何php apache2或ubuntu系统包解决方案。

Upvote if you find your solution

看起来我们需要安装与 php 版本相同的 libapache2-mod-php 版本。我让 php 7.4 安装 libapache2-mod-php7.4 解决了这个问题。谢谢