آموزش نصب PHP 8.1 در AlmaLinux 8
در این آموزش به نحوه نصب PHP 8.1 روی AlmaLinux 8|Oracle Linux 8 می پردازیم. PHP یک زبان برنامه نویسی متن باز است که توسط راسموس لردورف ، یک برنامه نویس دانمارکی-کانادایی در سال 1994، با هدف ایجاد صفحات وب پویا و تعاملی ایجاد شده است. سرورهای PHP به عنوان جایگزینی برای ASP مایکروسافت. برای تقویت قدرتمندترین سیستم های مدیریت محتوا مانند وردپرس، دروپال و جوملا استفاده می شود.
آخرین نسخه، PHP 8.1 به روز رسانی نسخه قبلی PHP 8.0 است. این نسخه جدید دارای ویژگی های شگفت انگیز زیادی است که عبارتند از:
- Readonly properties – ویژگی های کلاس را می توان به عنوان فقط خواندنی علامت گذاری کرد، بنابراین فقط یک بار می توان نوشت
- Enum ها در PHP 8.1 موجود هستند
- Never Return Type – یک اشاره نوع بازگشتی جدید به نام never در PHP 8.1 اضافه شده است
- Fibers – این یک مکانیسم سطح پایین برای مدیریت موازی سازی است
- بهبود عملکرد – ویژگی کش ارثی که اجازه می دهد پیوندهای بین کلاس ها در حافظه پنهان شوند.
- نحو قابل فراخوانی درجه یک
- پشتیبانی از فرمت تصویر AVIF – پردازش تصویر PHP 8.1 و پسوند GD پشتیبانی از تصاویر AVIF را اضافه می کند.
- پشتیبانی از DNS-over-HTTPS (DoH)
- آپلود فایل با CURLStringFile – در PHP 8.1، پسوند PHP Curl اکنون از درخواستهای HTTP(S) همراه با آپلود فایل پشتیبانی میکند.
- انواع تقاطع خالص
- نماد لفظی اعداد صحیح هشتگانه صریح
- ثابت های کلاس نهایی تعریف شده
بیایید به اصل این موضوع بپردازیم.
مرحله 1 – افزودن مخزن PHP 8.1 Remi در AlmaLinux 8|Oracle Linux 8
PHP در مخازن پیشفرض AlmaLinux 8|Oracle Linux 8 یافت میشود، اما نسخههای موجود در اینجا با آخرین نسخههای منتشر شده فاصله زیادی دارند. نسخه های موجود PHP را می توان با استفاده از دستور DNF زیر مشاهده کرد.
$ sudo dnf module list php
determining the fastest mirror (10 hosts).. done.-- B/s | 0 B --:-- ETA
AlmaLinux 8 - BaseOS 6.6 MB/s | 3.8 MB 00:00
determining the fastest mirror (2 hosts).. done.--- B/s | 0 B --:-- ETA
AlmaLinux 8 - AppStream 7.2 MB/s | 8.2 MB 00:01
AlmaLinux 8 - Extras 25 kB/s | 12 kB 00:00
AlmaLinux 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
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
بنابراین، برای اینکه بتوانیم آخرین نسخه، PHP 8.1 را نصب کنیم، باید مخزن Remi را اضافه کنیم.
ابتدا مخزن EPEL را روی AlmaLinux 8|Oracle Linux 8 نصب کنید.
sudo dnf install epel-release
با نصب مخزن EPEL، مخزن Remi را به صورت زیر فعال می کنیم.
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
درخت وابستگی:
Dependencies resolved.
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
remi-release noarch 8.4-1.el8.remi @commandline 26 k
yum-utils noarch 4.0.21-3.el8 baseos 71 k
Upgrading:
dnf-plugins-core noarch 4.0.21-3.el8 baseos 69 k
python3-dnf-plugins-core noarch 4.0.21-3.el8 baseos 233 k
Transaction Summary
================================================================================
Install 2 Packages
Upgrade 2 Packages
Total size: 399 k
Total download size: 374 k
Is this ok [y/N]: y
مخزن بسته DNF خود را به روز کنید.
sudo dnf update
وارد کردن کلید GPG را برای مخزن Remi بپذیرید.
Importing GPG key 0x5F11735A:
Userid : "Remi's RPM repository <[email protected]>"
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
......
Safe Remi's RPM repository for Enterprise Linux 3.0 MB/s | 3.1 kB 00:00
Importing GPG key 0x5F11735A:
Userid : "Remi's RPM repository <[email protected]>"
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
مرحله 2 – فعال کردن مخزن PHP 8.1 در AlmaLinux 8|Oracle Linux 8
از خروجی قبلی، دیدیم که PHP 7.2 نسخه پیش فرض PHP در سیستم های مبتنی بر Rhel است.
بنابراین پس از افزودن مخزن Remi، گزینه های موجود PHP را به صورت زیر لیست می کنیم.
$ sudo dnf module list php
ast metadata expiration check: 0:16:07 ago on Tue 23 Nov 2021 02:21:16 AM EST.
AlmaLinux 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
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
Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled
تگ [d] در کنار PHP 7.2 نشان دهنده نسخه پیش فرض PHP فعال در سیستم ما است. قبل از فعال کردن آخرین نسخه PHP 8.1 ارائه شده توسط مخزن Remi، ابتدا باید این مورد را بازنشانی کنیم.
sudo dnf module list reset php
اکنون PHP 8.1 را به صورت زیر فعال کنید.
sudo dnf module enable php:remi-8.1
خروجی نمونه:
Dependencies resolved.
==============================================================================
Package Architecture Version Repository Size
==============================================================================
Enabling module streams:
php remi-8.1
Transaction Summary
==============================================================================
Is this ok [y/N]: y
مرحله 3 – نصب PHP 8.1 در AlmaLinux 8|Oracle Linux 8
اکنون پس از تمام تنظیمات بالا، اکنون قرار است نصب را انجام دهیم. با استفاده از دستور، نسخه فعال پیش فرض PHP 8.1 را نصب کنید.
sudo dnf install php
درخت وابستگی:
Dependencies resolved.
==============================================================================
Package Arch Version Repository Size
==============================================================================
Installing:
php x86_64 8.1.0~RC6-1.el8.remi remi-modular 1.8 M
Installing dependencies:
almalinux-logos-httpd noarch 84.5-1.el8 appstream 29 k
apr x86_64 1.6.3-12.el8 appstream 128 k
apr-util x86_64 1.6.1-6.el8 appstream 105 k
httpd x86_64 2.4.37-43.module_el8.5.0+2597+c4b14997.alma
appstream 1.4 M
httpd-filesystem noarch 2.4.37-43.module_el8.5.0+2597+c4b14997.alma
appstream 39 k
httpd-tools x86_64 2.4.37-43.module_el8.5.0+2597+c4b14997.alma
appstream 106 k
libsodium x86_64 1.0.18-2.el8 epel 162 k
mod_http2 x86_64 1.15.7-3.module_el8.5.0+2576+c8e0c271
appstream 153 k
oniguruma5php x86_64 6.9.7.1-1.el8.remi remi-safe 210 k
php-common x86_64 8.1.0~RC6-1.el8.remi remi-modular 1.2 M
Installing weak dependencies:
apr-util-bdb x86_64 1.6.1-6.el8 appstream 24 k
apr-util-openssl x86_64 1.6.1-6.el8 appstream 27 k
nginx-filesystem noarch 1:1.14.1-9.module_el8.3.0+2165+af250afe.alma
appstream 23 k
php-cli x86_64 8.1.0~RC6-1.el8.remi remi-modular 5.3 M
php-fpm x86_64 8.1.0~RC6-1.el8.remi remi-modular 1.8 M
php-mbstring x86_64 8.1.0~RC6-1.el8.remi remi-modular 519 k
php-opcache x86_64 8.1.0~RC6-1.el8.remi remi-modular 609 k
php-pdo x86_64 8.1.0~RC6-1.el8.remi remi-modular 160 k
php-sodium x86_64 8.1.0~RC6-1.el8.remi remi-modular 100 k
php-xml x86_64 8.1.0~RC6-1.el8.remi remi-modular 249 k
Enabling module streams:
httpd 2.4
nginx 1.14
Transaction Summary
==============================================================================
Install 21 Packages
Total download size: 14 M
Installed size: 57 M
Is this ok [y/N]: y
نسخه PHP نصب شده در سیستم ما را تأیید کنید.
$ php --version
PHP 8.1.0 (cli) (built: Nov 23 2021 18:56:11) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.0, Copyright (c) Zend Technologies
پیشنهاد ویژه قائم هاست خرید سرور مجازی ایران با هارد پرسرعت NVMe و ترافیک نامحدود با نصب و راه اندازی انواع سیستم عامل همچون لینوکس CentOS و Ubuntu با خدمات و پشتیبانی 24 ساعته حتی در ایام تعطیل ؛ جهت مشاوره و سوالات قبل از خرید از طریق ارسال تیکت با ما در ارتباط باشید.
مرحله 4 – برنامه های افزودنی PHP 8.1 را روی AlmaLinux 8|Oracle Linux 8 نصب کنید
پسوندهای PHP از این جهت مفید هستند که کار طاقت فرسا انجام دادن کدهای یکسان را بارها و بارها برای برنامه های PHP از ابتدا به حداقل می رساند.
این پسوندهای PHP 8.1 را می توان با استفاده از دستور نصب کرد:
sudo dnf install php-cli php-fpm php-curl php-mysqlnd php-gd php-opcache php-zip php-intl php-common php-bcmath php-imap php-imagick php-xmlrpc php-json php-readline php-memcached php-redis php-mbstring php-apcu php-xml
در نصب موفقیت آمیز، می توانید تمام پسوندهای PHP موجود را بررسی کنید.
$ php --modules
[PHP Modules]
apcu
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
igbinary
imagick
imap
intl
json
libxml
mbstring
memcached
msgpack
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
readline
redis
Reflection
session
SimpleXML
sockets
sodium
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlrpc
xmlwriter
xsl
Zend OPcache
zip
zlib
[Zend Modules]
Zend OPcache
مرحله 5 – اجرای چندین نسخه PHP در AlmaLinux 8|Oracle Linux 8
این امکان وجود دارد که چندین نسخه از PHP روی سیستم شما اجرا شود. با فرض اینکه قبلاً نسخه 7.2 پیش فرض PHP را نصب کرده اید، همچنان می توانید PHP 8.1 را بدون نیاز به تنظیم آن به عنوان نسخه پیش فرض قبل از نصب نصب کنید. این را می توان از طریق مجموعه نرم افزاری یک ویژگی موجود در مخزن Remi-safe به دست آورد.
اگر نسخه PHP دیگری نصب کرده اید، می توانید PHP 8.1 را با استفاده از دستور زیر نصب کنید:
sudo dnf install php81
درخت وابستگی:
Dependencies resolved.
============================================================================
Package Arch Version Repository Size
============================================================================
Installing:
php81 x86_64 8.1-2.el8.remi remi-safe 7.4 k
Installing dependencies:
environment-modules x86_64 4.5.2-1.el8 baseos 421 k
php81-php-cli x86_64 8.1.0~rc6-1.el8.remi remi-safe 3.6 M
php81-php-common x86_64 8.1.0~rc6-1.el8.remi remi-safe 723 k
php81-runtime x86_64 8.1-2.el8.remi remi-safe 1.1 M
scl-utils x86_64 1:2.0.2-14.el8 appstream 46 k
tcl x86_64 1:8.6.8-2.el8 baseos 1.1 M
Installing weak dependencies:
php81-php-fpm x86_64 8.1.0~rc6-1.el8.remi remi-safe 1.9 M
php81-php-mbstring x86_64 8.1.0~rc6-1.el8.remi remi-safe 490 k
php81-php-opcache x86_64 8.1.0~rc6-1.el8.remi remi-safe 418 k
php81-php-pdo x86_64 8.1.0~rc6-1.el8.remi remi-safe 140 k
php81-php-sodium x86_64 8.1.0~rc6-1.el8.remi remi-safe 93 k
php81-php-xml x86_64 8.1.0~rc6-1.el8.remi remi-safe 192 k
Transaction Summary
============================================================================
Install 13 Packages
Total download size: 10 M
Installed size: 35 M
Is this ok [y/N]: y
افزونه ها به صورت زیر نصب خواهند شد.
sudo dnf install php81-php-{curl,json,zip,fpm,gd,mysqlnd,devel,mcrypt,mbstring,xml,pear,bcmath,memcache,redis}
نسخه نصب شده را بررسی کنید.
$ php81 --version
PHP 8.1.0 (cli) (built: Nov 23 2021 18:56:11) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.0, Copyright (c) Zend Technologies
with Zend OPcache v8.1.0, Copyright (c), by Zend Technologies
نتیجه
به همین راحتی! شما با موفقیت PHP 8.1 را روی AlmaLinux 8|Oracle Linux 8 نصب کرده اید.