【问题标题】:Unable to locate package libapache2-mod-php7找不到包 libapache2-mod-php7
【发布时间】:2016-08-07 14:39:57
【问题描述】:

我尝试使用以下命令在 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

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

【问题讨论】:

    标签: php ubuntu installation


    【解决方案1】:

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

    【讨论】:

    • 非常感谢
    【解决方案2】:

    在 Ubuntu 18.04 上,我必须先在下面添加存储库。添加 repo 后,我就可以安装 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/

    【讨论】:

      【解决方案3】:

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

      sudo apt-get install php7.1
      

      【讨论】:

        【解决方案4】:

        在发帖时 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 和所有正确的依赖项。

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

        【讨论】:

          【解决方案5】:

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

          sudo apt-get update
          

          然后再次运行之前的命令。

          顺便说一句,现在有一个程序apt 据称比apt-getapt-cache 等更易于使用(参见this question on Ask Ubuntu)。所以你的命令可以被替换为

          sudo apt update
          sudo apt install <the packages>
          

          获得更好的用户界面。

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

          【讨论】:

            【解决方案6】:

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

            1. 移除 php-common
            2. 下载http://packages.ubuntu.com/xenial/php7.0-commondeb包并安装如果它与php7.0-json,readline,cli,opache有关 然后在关于这些库的上部文本框中就座并以这种方式安装它们
            3. json
            4. 欧巴赫
            5. cli
            6. readline

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

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

            【讨论】:

              【解决方案7】:

              尝试 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>;
              

              【讨论】:

                【解决方案8】:

                应该是:

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

                【讨论】:

                  【解决方案9】:
                  sudo apt-get install libapache2-mod-php7.1
                  

                  为我工作 (16.04Ubuntu)。

                  【讨论】:

                  • 更新 php 版本,sudo apt install php7.2-mysql php7.2-curl php7.2-json php7.2-cgi php7.2 libapache2-mod-php7.2
                  【解决方案10】:

                  如果您收到类似php7.2 php7.2-curl libapache2-mod-php 没有可安装的候选或找不到任何包或依赖项的错误是php7.2-commonlibcurl3 执行此操作。记住根据您的要求更改您的包名称

                  你必须以成熟的方式应对。 Install 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
                  

                  这个方法不仅是针对这个错误你可以找到任何使用aptitude的php apache2或ubuntu系统包解决方案。

                  Upvote if you find your solution
                  

                  【讨论】:

                    猜你喜欢
                    • 2011-01-06
                    • 2017-03-08
                    • 1970-01-01
                    • 2014-10-22
                    • 2013-12-25
                    • 2017-12-29
                    • 2019-04-03
                    • 2015-10-10
                    • 1970-01-01
                    相关资源
                    最近更新 更多