ติดตั้ง PHP 8.1 บน Rocky 8 | CentOS 8 | Alma 8
ในบทความบล็อกสั้นๆ นี้ เราจะมุ่งเน้นไปที่วิธีการติดตั้ง PHP 8.1 บน Rocky Linux 8|CentOS 8 PHP เป็นภาษาสคริปต์ฝั่งเซิร์ฟเวอร์ที่ทรงพลังและเป็นโอเพ่นซอร์ส ซึ่งสร้างขึ้นเพื่อทำให้การสร้างหน้าเว็บแบบไดนามิกและโต้ตอบได้เป็นเรื่องที่สนุกสนาน PHP เป็นทางเลือกหนึ่งที่ใช้แทนคู่แข่งอย่าง ASP ของ Microsoft ภาษาการเขียนโปรแกรมนี้ถูกสร้างขึ้นครั้งแรกโดยโปรแกรมเมอร์ชาวเดนมาร์ก-แคนาดา ชื่อ ราสมุส เลอดอร์ฟ ในปี 1994
PHP 8.1 เป็นการอัปเดตจากเวอร์ชันก่อนหน้าของภาษาการเขียนโปรแกรม PHP รุ่น 8.0. หากคุณพร้อมที่จะทดสอบการเปิดตัว PHP รุ่นใหม่นี้ บทความนี้เหมาะสำหรับคุณ ระบบจัดการเนื้อหาที่ทรงพลังที่สุด เช่น Drupal, WordPress และ Joomla ถูกขับเคลื่อนด้วย PHP PHP 8.1 มาพร้อมกับชุดคุณสมบัติใหม่ การปรับปรุงประสิทธิภาพ การเปลี่ยนแปลง และการยกเลิกฟีเจอร์บางอย่าง
คุณลักษณะใหม่ใน PHP 8.1
- Enum – ตอนนี้ถูกเพิ่มเข้ามาใน PHP 8.1 แล้ว
- คุณสมบัติอ่านอย่างเดียว – คุณสมบัติของคลาสสามารถถูกทำเครื่องหมายว่าเป็นอ่านอย่างเดียว จึงสามารถเขียนได้เพียงครั้งเดียวเท่านั้น
- Never Return Type – การเพิ่มชนิดการคืนค่าที่เรียกว่า never ใน PHP 8.1
- การสนับสนุน DNS-over-HTTPS (DoH)
- รองรับรูปแบบภาพ AVIF – การประมวลผลภาพและส่วนขยาย GD ของ PHP 8.1 เพิ่มการรองรับภาพ AVIF
- เพิ่มการสนับสนุนสำหรับ Fibers – กลไกระดับต่ำในการจัดการความขนาน
- การอัปโหลดไฟล์ด้วย CURLStringFile – ใน PHP 8.1 ส่วนขยาย PHP Curl ตอนนี้รองรับการส่งคำขอ HTTP(S) พร้อมการอัปโหลดไฟล์
- การเพิ่มคุณลักษณะของชนิดตัดกันบริสุทธิ์
- PHP 8.1 เพิ่มฟังก์ชัน array_is_list เป็นฟังก์ชันที่มีมาให้ในตัว
- การเขียนตัวเลขฐานแปดแบบชัดเจน
- ฟังก์ชัน fdatasync() และ fsync() ใหม่
- กำหนดค่าคงที่ของคลาสสุดท้าย
- ท่ามกลางคุณสมบัติใหม่และฟีเจอร์ที่ถูกเลิกใช้อื่น ๆ อีกมากมาย
ติดตั้ง PHP 8.1 บน Rocky 8/CentOS 8/AlmaLinux 8
ในส่วนถัดไปเราจะเน้นการติดตั้ง PHP 8.1 ทีละขั้นตอนบนระบบ Rocky Linux 8 | CentOS 8 ระบบที่ใช้ 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 เราจะใช้ repository ของ Remi RPM ซึ่งมีแพ็กเกจใหม่ของ PHP สำหรับระบบที่ใช้ RHEL เช่น CentOS, Rocky Linux, AlmaLinux, Fedora เป็นต้น
1) เพิ่มรีโป Remi YUM
เราจำเป็นต้องเปิดใช้งานที่เก็บ EPEL ก่อนที่จะเพิ่มที่เก็บ Remi YUM ลงในระบบของเรา
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
เมื่อเปิดใช้งานรีโพซิทอรีที่จำเป็นและยืนยันว่าสามารถใช้งานได้แล้ว เราก็สามารถติดตั้ง PHP 8.1 บน Rocky Linux 8 | CentOS 8 ได้แล้ว
มาล้างการตั้งค่าโมดูล PHP เริ่มต้นในแหล่งเก็บ AppStream กันเถอะ:
sudo dnf -y module reset phpเปิดใช้งานรีโพซิทอรี Remi สำหรับ PHP 8.1 โดยรันคำสั่งด้านล่างในฐานะผู้ใช้ sudo:
sudo dnf module install php:remi-8.1ยืนยันการพึ่งพาของแพ็กเกจและดำเนินการติดตั้ง PHP 8.1 จากแหล่งเก็บ Remi
....
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นี่คือบทสรุปของคู่มือการติดตั้ง PHP 8.1 บน Rocky Linux 8|CentOS 8|AlmaLinux 8 เราหวังว่าคุณจะสนุกกับการอ่านและยินดีต้อนรับเสมอ หากพบปัญหาใด ๆ ระหว่างการติดตั้ง อย่าลังเลที่จะติดต่อเราผ่านทางส่วนความคิดเห็นหรือทางอีเมล สวัสดี!
หนังสือพัฒนาเว็บที่แนะนำให้อ่าน:
- หนังสือที่ดีที่สุดในการเรียนรู้การพัฒนาเว็บ – PHP, HTML, CSS, JavaScript และ jQuery
- หนังสือที่ดีที่สุดในการเชี่ยวชาญการออกแบบเว็บไซต์
- หนังสือที่ดีที่สุดในการเรียนรู้ CSS และ CSS3
- หนังสือดีที่สุดในการเรียนรู้ HTML และ HTML5
- หนังสืออ้างอิง Apache และ Nginx ที่ดีที่สุด