簡體   English   中英

在 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   

讀取 state 信息...完成

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 才能在 Ubuntu 17 上安裝 PHP7.2

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php7.2

或者通過克隆 git 存儲庫從源代碼編譯它,檢查到您想要的版本,make & make install

有關從源代碼編譯 PHP 的更多信息,請查看如何從源代碼構建/編譯 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

  1. 完全刪除所有版本的 PHP

     sudo apt-get purge 'php*'
  2. 從未簽名的存儲庫強制更新:

    在你的sources.list(位於/etc/apt/sources.list)中添加這個選項:

     deb [trusted=yes] https://deb.sury.org/ stretch main
  3. 將當前包升級到最新版本:

     sudo apt update sudo apt upgrade
  4. 首先在您的系統上安裝所需的軟件包:

     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
  5. 最后,使用以下選項之一安裝符合您要求的 PHP:

    用於安裝 PHP 7.2

     sudo apt install php7.2-cli

    用於安裝 PHP 7.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沒有可安裝的候選者或找不到任何 package 或依賴項是php7.2-commonlibcurl3的錯誤,請執行此操作。 記住根據您的要求更改您的 package 名稱

你必須以成熟的方式應對。 安裝aptitude這些ubuntu package管理器會找到所有的依賴,會一一安裝。

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 package

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 將找到所有依賴項並要求您安裝所有 package 類型

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 系統 ZEFE90A8E6036A7C86B70E88Z 解決方案找到任何一個。

Upvote if you find your solution

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM