آموزش نصب 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 نصب کرده اید.

سایر صفحات مرتبط »

5/5 - (4 امتیاز)