在 Rocky 8|CentOS 8|Alma 8 安裝 PHP 8.1
在這篇短博客文章中,我們將集中討論如何在 Rocky Linux 8|CentOS 8 上安裝 PHP 8.1。PHP 是一種非常強大且開源的伺服器腳本語言,旨在使動態和互動式網頁的創建變得有趣。PHP 是微軟 ASP 等競爭產品的替代方案。這種程式語言最初由丹麥-加拿大程式設計師 Rasmus Lerdorf 於 1994 年創建。
PHP 8.1 是其前一版本 PHP 編程語言版本 8.0 的更新。如果你準備好測試這個新的 PHP 版本,那麼這篇文章非常適合你。最強大的內容管理系統如 Drupal、WordPress 和 Joomla 都是由 PHP 提供動力的。PHP 8.1 帶來了一系列新功能、性能改進、變更和棄用功能。
PHP 8.1 的新功能
- 列舉型別 – 它們現在已在 PHP 8.1 中新增
- 唯讀屬性 – 類別屬性可以標記為唯讀,因此只能被寫入一次
- 永不返回型別 – 在 PHP 8.1 中新增了一種名為 never 的返回型別提示
- 支援 DNS-over-HTTPS (DoH)
- AVIF 圖像格式支援 – PHP 8.1 的影像處理與 GD 擴充功能新增了對 AVIF 圖像的支援。
- 新增對 Fibers 的支持 – 管理平行處理的底層機制
- 使用 CURLStringFile 的檔案上傳 – 在 PHP 8.1 中,PHP Curl 擴展現在支援帶檔案上傳的 HTTP(S) 請求
- 新增純交集類型功能
- PHP 8.1 新增了 array_is_list 作為內建函式
- 明確八進位數字表示法
- 新的 fdatasync() 和 fsync() 函數
- 定義最終類別常數
- 在許多其他新功能和棄用項目之中
在 Rocky 8/CentOS 8/AlmaLinux 8 安裝 PHP 8.1
在接下來的章節中,我們將專注於在 Rocky Linux 8|CentOS 8 上逐步安裝 PHP 8.1。基於 RHEL 8 的系統附帶了一些 PHP 版本,可在 AppStream 倉庫中找到,並可使用下列命令進行檢查:
$ sudo dnf module list php
Last metadata expiration check: 0:00:05 ago on Sat 20 Nov 2021 10:32:10 AM UTC.
Rocky Linux 8 - AppStream
Name Stream Profiles Summary
php 7.2 [d] common [d], devel, minimal PHP scripting language
php 7.3 common [d], devel, minimal PHP scripting language
php 7.4 common [d], devel, minimal PHP scripting language對於 PHP 8.1,我們將使用 Remi RPM 軟體庫,它包含了適用於基於 RHEL 的系統(如 CentOS、Rocky Linux、AlmaLinux、Fedora 等)的 PHP 新套件。
1) 添加 Remi YUM 軟體庫
在將 Remi YUM 倉庫添加到我們的系統之前,我們需要先啟用 EPEL 倉庫。
sudo dnf -y install epel-release
sudo dnf config-manager --set-enabled powertools
在將 EPEL 和 PowerTools 存儲庫添加到系統後,接著啟用 Remi YUM 存儲庫:
sudo dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm確認所有新增的倉庫都是啟用的:
$ sudo dnf -y makecache
$ sudo dnf -y repolist
repo id repo name
appstream Rocky Linux 8 - AppStream
baseos Rocky Linux 8 - BaseOS
epel Extra Packages for Enterprise Linux 8 - x86_64
epel-modular Extra Packages for Enterprise Linux Modular 8 - x86_64
extras Rocky Linux 8 - Extras
powertools Rocky Linux 8 - PowerTools
remi-modular Remi's Modular repository for Enterprise Linux 8 - x86_64
remi-safe Safe Remi's RPM repository for Enterprise Linux 8 - x86_64系統應該新增 PHP 模組
$ sudo dnf module list php
Last metadata expiration check: 0:00:05 ago on Sat 20 Nov 2021 10:32:10 AM UTC.
Rocky Linux 8 - AppStream
Name Stream Profiles Summary
php 7.2 [d] common [d], devel, minimal PHP scripting language
php 7.3 common [d], devel, minimal PHP scripting language
php 7.4 common [d], devel, minimal PHP scripting language
php 8.0 common [d], devel, minimal PHP scripting language
Remi's Modular repository for Enterprise Linux 8 - x86_64
Name Stream Profiles Summary
php remi-7.2 common [d], devel, minimal PHP scripting language
php remi-7.3 common [d], devel, minimal PHP scripting language
php remi-7.4 common [d], devel, minimal PHP scripting language
php remi-8.0 common [d], devel, minimal PHP scripting language
php remi-8.1 common [d], devel, minimal PHP scripting language
php remi-8.2 common [d], devel, minimal PHP scripting language
php remi-8.3 common [d], devel, minimal PHP scripting language
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled2) 安裝 PHP 8.1 套件
在啟用並確認所需的倉庫可用後,我們現在可以在 Rocky Linux 8 或 CentOS 8 上安裝 PHP 8.1。
讓我們重置 AppStream 儲存庫中的 PHP 預設模組:
sudo dnf -y module reset php以 sudo 使用者身份執行以下命令以啟用 PHP 8.1 的 Remi 軟體庫:
sudo dnf module install php:remi-8.1確認套件相依性並繼續從 Remi 軟體庫安裝 PHP 8.1
....
Transaction Summary
======================================================================================================================================================================================================
Install 9 Packages
Total download size: 9.7 M
Installed size: 45 M
Is this ok [y/N]: y在安裝過程中,系統會要求你接受匯入某些封包簽署的 GPG 金鑰。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 12 MB/s | 9.7 MB 00:00
Remi's Modular repository for Enterprise Linux 8 - x86_64 3.0 MB/s | 3.1 kB 00:00
Importing GPG key 0x5F11735A:
Userid : "Remi's RPM repository <[email >"
Fingerprint: 6B38 FEA7 231F 87F5 2B9C A9D8 5550 9759 5F11 735A
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-remi.el8
Is this ok [y/N]: y讓我們看看系統上安裝的 PHP 版本:
$ php --version
PHP 8.1.25 (cli) (built: Oct 24 2023 21:51:16) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.25, Copyright (c) Zend Technologies3) 安裝 PHP 8.1 擴展
PHP 擴展幫助你避免為多個 PHP 應用程式從零開始重複編寫相同的程式碼。你只需安裝擴展,然後在你的應用程式中連接它即可。你可以輕鬆使用公開可用的擴展,並可透過以下命令語法進行安裝:
sudo yum install php-xxx- 其中 xxx 是擴展名稱。
以下是安裝常用 PHP 擴展的指令:
sudo dnf install php php-cli php-{curl,json,zip,fpm,gd,mysqlnd,devel,mcrypt,mbstring,xml,pear,bcmath,memcache,redis}接受安裝提示以繼續:
Transaction Summary
======================================================================================================================================================================================================
Install 73 Packages
Total download size: 78 M
Installed size: 208 M
Is this ok [y/N]: y檢查所有可用的 PHP 擴充功能:
$ php --modules
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
igbinary
json
libxml
mbstring
mcrypt
memcache
msgpack
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
redis
Reflection
session
shmop
SimpleXML
sockets
sodium
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib
[Zend Modules]
Zend OPcache4) 運行多個版本的 PHP
軟體集合是運行多個版本 PHP 的最佳方式。php81 集合可在 remi-safe 存儲庫中獲得,並可使用以下命令安裝:
sudo dnf install php81可以使用以下命令安裝其他附加套件:
sudo dnf install php81-php-xxx檢查 PHP 8.1 版本
$ php81 --version
PHP 8.1.25 (cli) (built: Oct 24 2023 21:51:16) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.25, Copyright (c) Zend Technologies
with Zend OPcache v8.1.25, Copyright (c), by Zend Technologies列出 PHP 8.1 的啟用模組
$ php81 --modules
[PHP Modules]
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gettext
hash
iconv
json
libxml
mbstring
openssl
pcntl
pcre
PDO
pdo_sqlite
Phar
readline
Reflection
session
SimpleXML
sockets
sodium
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zlib
[Zend Modules]
Zend OPcache這就是我們關於如何在 Rocky Linux 8、CentOS 8 或 AlmaLinux 8 上安裝 PHP 8.1 的指南的全部內容。我們希望您喜歡,並隨時歡迎您提出意見。如果在安裝過程中遇到任何問題,請隨時在評論區或通過電子郵件與我們聯繫。乾杯!
推薦閱讀的網頁開發書籍:
- 學習網頁開發的最佳書籍 – PHP、HTML、CSS、JavaScript 和 jQuery
- 精通網頁設計的最佳書籍
- 學習 CSS 與 CSS3 的最佳書籍
- 學習 HTML 與 HTML5 的最佳書籍
- 最佳 Apache 與 Nginx 參考書籍