Debian/Ubuntu 環境安裝 PHP-FPM 8.0、7.4 或 7.3 版本

此篇文章主要記錄在Debian/Ubuntu系統上安裝目前還有在支援的PHP-FPM(FastCGI Process Manager)的版本,以方便筆者自己日後在Debian/Ubuntu環境上用到需要的PHP-FPM的版本時可以做一個參考。

此篇文章筆者會持續更新,且只會更新目前還有在支援PHP-FPM的版本。另外,系統部分此篇文章只會記錄Debian與Ubuntu兩個不同的Linux發行版,系統也是一樣僅會更新還有在支援的,主要注意的是Ubuntu系統方面,筆者只會記錄LTS版本。

**關於PHP目前還有在支援的版本,可以查看PHP官方網站的Supported Versions文章。

查詢Debian和Ubuntu預設所提供的PHP是否為你所要的版本,下面於Debian 10(Buster)為例:

#使用『apt-cache show PACKAGE_NAME』指令,可以查詢套件詳細資訊
apt-cache show php
#在如下面所示的資訊,以筆者查到的PHP版本資訊為例,可以看到Debian 10預設所提供的PHP版本為7.3
#Package: php
#Source: php-defaults (69)
#Version: 2:7.3+69
#Installed-Size: 12
#Maintainer: Debian PHP Maintainers <team+pkg-php@tracker.debian.org>
#Architecture: all
#Depends: php7.3
#Description-en: server-side, HTML-embedded scripting language (default)
# PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used
# open source general-purpose scripting language that is especially suited
# for web development and can be embedded into HTML.
# .
# This package is a dependency package, which depends on latest stable
# PHP version (currently 7.3).
#Description-md5: 8877e9f08f3b7f9ce8d66848cbb639e7
#Section: php
#Priority: optional
#Filename: pool/main/p/php-defaults/php_7.3+69_all.deb
#Size: 5964
#MD5sum: c4a7abb123cb816fc2a7a546e6700e90
#SHA256: 0fbe0870fccbbcab2c5f6489af12167189d87db0d399295812e784f376151daa
#假如你查到的PHP並不是你要的PHP版本,那接下來部分,你可以參考下面的方式,從第三方來獲取你要的PHP版本

 

Debian 10(Buster)、Debian 9(Stretch)和Debian 8(Jessie)安裝PHP-FPM 8.0版本、PHP-FPM 7.4版本或PHP-FPM 7.3版本:

**目前最新版本的Debian 10所提供的PHP版本是7.3版本,若你是使用Ubuntu 20.04 LTS系統的使用者,且需要PHP 7.3版本,就不需要使用第三方的DPA儲存庫,但假如你是要使用PHP 7.4或最新的PHP 8.0版本,還是要新增第三方的DPA儲存庫,而第三方的DPA儲存庫一樣可以參考下面的方法來獲取你要的PHP版本。

#安裝apt-transport-https(確保APT可以在HTTPS中執行)、lsb-release(識別系統的Linux發行版的版本)及ca-certificates(CA憑證工具)
sudo apt-get install apt-transport-https lsb-release ca-certificates -y
#加入packages.sury.org的GPG key
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
#將packages.sury.org寫入至Debian的sources list套件來源清單
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
#更新sources list清單
sudo apt-get update

 

Debian 10、Debian 9和Debian 8安裝php8.0-fpm

#安裝php8.0-fpm
sudo apt-get install php8.0-fpm -y
#以及你還所需要的其他的php8.0套件,例如:
sudo apt-get install php8.0-common php8.0-gd php8.0-cli php8.0-mbstring php8.0-xml php8.0-opcache php8.0-mysql -y
#查看是否安裝好你所需要的PHP版本
php -v

 

Debian 10、Debian 9和Debian 8安裝php7.4-fpm

#安裝php7.4-fpm
sudo apt-get install php7.4-fpm -y
#以及你還所需要的其他的php7.4套件,例如:
sudo apt-get install php7.4-common php7.4-json php7.4-gd php7.4-cli php7.4-mbstring php7.4-xml php7.4-opcache php7.4-mysql -y
#查看是否安裝好你所需要的PHP版本
php -v

 

Debian 10、Debian 9和Debian 8安裝php7.3-fpm

#安裝php7.3-fpm
sudo apt-get install php7.3-fpm -y
#以及你還所需要的其他的php7.2套件,例如:
sudo apt-get install php7.3-common php7.3-json php7.3-gd php7.3-cli php7.3-mbstring php7.3-xml php7.3-opcache php7.3-mysql -y
#查看是否安裝好你所需要的PHP版本
php -v

 

於Debian系統中PHP套件的其他筆記:

筆記 1:若日後遇到在更新或安裝PHP套件時,遇到金鑰過期問題:

Step 1:以下面的例子來說,可看到PHP套件的『B188E2B695BD4743』金鑰已過期。

Err:X https://packages.sury.org/php <系統代號> InRelease
  The following signatures were invalid: EXPKEYSIG B188E2B695BD4743 DEB.SURY.ORG Automatic Signing Key <deb@sury.org>
Fetched 4635 B in 0s (10.2 kB/s)
Reading package lists... Done
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://packages.sury.org/php <系統代號> InRelease: The following signatures were invalid: EXPKEYSIG B188E2B695BD4743 DEB.SURY.ORG Automatic Signing Key <deb@sury.org>
W: Failed to fetch https://packages.sury.org/php/dists/<系統代號>/InRelease  The following signatures were invalid: EXPKEYSIG B188E2B695BD4743 DEB.SURY.ORG Automatic Signing Key <deb@sury.org>
W: Some index files failed to download. They have been ignored, or old ones used instead.

 

Step 2:刪除系統提示的過期金鑰。

sudo apt-key del B188E2B695BD4743

 

Step 3:重新加入packages.sury.org的GPG key。

sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

 

Step 4:更新sources list清單。

sudo apt-get update

 

Ubuntu 20.04 LTS、18.04 LTS和16.04 LTS(其他的Ubuntu版本也可以參考)安裝PHP-FPM 8.0版本、PHP-FPM 7.4版本或PHP-FPM 7.3版本:

**目前最新版本的Ubuntu 20.04 LTS所提供的PHP版本是7.4版本,若你是使用Ubuntu 20.04 LTS系統的使用者,且需要PHP 7.4版本,那就不需要使用第三方的PPA儲存庫,但假如你是要PHP 7.3或最新的PHP 8.0版本,那還是要新增第三方的PPA儲存庫,而第三方的PPA儲存庫一樣可以參考下面的方法來獲取你要的PHP版本。

#由於要使用到第三方的PPA儲存庫,因此Ubuntu系統上需安裝好python-software-properties套件
sudo apt-get install python-software-properties
#若出現『Package python-software-properties is not available, but is referred to by another package.』訊息,那您應該安裝『software-properties-common』來替代『python-software-properties』。
sudo apt-get install software-properties-common
#因為需要在Ubuntu系統上安裝最新版本的PHP,所以就需要使用到第三方的PPA儲存庫,筆者這邊於Ondřej Surý所維護的為例:
sudo add-apt-repository ppa:ondrej/php
#中途會遇到如下面所示的再次確認訊息:
## LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php
# More info: https://launchpad.net/~ondrej/+archive/ubuntu/php
#Press [ENTER] to continue or Ctrl-c to cancel adding it.
#那就按鍵盤的『Enter』以繼續。
#更新套件清單
sudo apt-get update

 

Ubuntu 20.04 LTS、18.04 LTS和16.04 LTS安裝php8.0-fpm:

#安裝php8.0-fpm
sudo apt-get install php8.0-fpm -y
#以及你還所需要的其他的php8.0套件,例如:
sudo apt-get install php8.0-common php8.0-gd php8.0-cli php8.0-mbstring php8.0-xml php8.0-opcache php8.0-mysql -y
#查看是否安裝好你所需要的PHP版本
php -v

 

Ubuntu 20.04 LTS、18.04 LTS和16.04 LTS安裝php7.4-fpm:

#安裝php7.4-fpm
sudo apt-get install php7.4-fpm -y
#以及你還所需要的其他的php7.3套件,例如:
sudo apt-get install php7.4-common php7.4-json php7.4-gd php7.4-cli php7.4-mbstring php7.4-xml php7.4-opcache php7.4-mysql -y
#查看是否安裝好你所需要的PHP版本
php -v

 

Ubuntu 20.04 LTS、18.04 LTS和16.04 LTS安裝php7.3-fpm:

#安裝php7.3-fpm
sudo apt-get install php7.3-fpm -y
#以及你還所需要的其他的php7.3套件,例如:
sudo apt-get install php7.3-common php7.3-json php7.3-gd php7.3-cli php7.3-mbstring php7.3-xml php7.3-opcache php7.3-mysql -y
#查看是否安裝好你所需要的PHP版本
php -v

 

此篇文章上次修改日期:
2021/03/21