როგორ დააინსტალიროთ PHP 8.0 AlmaLinux 9-ზე

PHP 8.0 არის ძირითადი გამოშვება PHP 7 სერიიდან, გაუმჯობესებებით და ენის ცვლილებებით, მათ შორის მრავალი დიდი ხნის ნანატრი დამატება დეველოპერების მიერ ყველგან! ეს მოიცავს დასახელებულ არგუმენტებს; კავშირის ტიპები. ის ასევე ამაყობს გაუმჯობესებული JIT კომპილაციის ინსტრუმენტებით, რაც დაგეხმარებათ თქვენი აპლიკაციის კოდის ოპტიმიზაციაში კიდევ უფრო მეტად, ვიდრე ადრე და გაზრდის შესრულებას.

დამატებითი ინფორმაცია გამოშვებისა და სრული ცვლილებების ჟურნალის შესახებ, რომელიც განახლდება ყოველი ახალი მცირე ვერსიის გამოშვებაზე, შეიძლება იყოს აქ.

შემდეგ გაკვეთილზე, თქვენ შეისწავლით თუ როგორ უნდა შემოიტანოთ REMI PHP მოდული და დააინსტალიროთ PHP 8.0 AlmaLinux 9 სერვერზე ან სამუშაო სადგურის სამუშაო მაგიდაზე, ასევე რამდენიმე რჩევას Nginx-ის FPM-ით კონფიგურაციის შესახებ ბრძანების ხაზის ტერმინალის გამოყენებით.

განაახლეთ AlmaLinux

პირველ რიგში, განაახლეთ თქვენი სისტემა, რათა დარწმუნდეთ, რომ ყველა არსებული პაკეტი განახლებულია. ეს უზრუნველყოფს, რომ ინსტალაციის დროს მაქსიმალურად არ წარმოიშვას კონფლიქტები.

sudo dnf upgrade --refresh -y

დააინსტალირეთ/იმპორტი PHP Remi Repository

ამჟამად, PHP 8.0 არ არის წარმოდგენილი AlmaLinux 9 აპლიკაციის ნაკადში, მაგრამ შეუძლია დააინსტალიროს PHP (Remi) საცავიდან, უფასო გამოსაყენებელი მესამე მხარის საცავიდან, რომელიც განათავსებს PHP 8.0-ის უახლეს ნაგებობებს.

რეკლამა

პირველი ამოცანაა დააინსტალიროთ (EPEL) საცავი, რომელიც ნიშნავს (Extra Packages for Enterprise Linux). AlmaLinux-ის ახალი მომხმარებლებისთვის და RHEL-ზე დაფუძნებული მსგავსი დისტრიბუციებისთვის, EPEL შეიცავს Enterprise Linux-ისთვის ყველაზე ხშირად გამოყენებულ პროგრამულ პაკეტებს.

პირველი, ჩართეთ CRB.

sudo dnf config-manager --set-enabled crb

შემდეგი, ინსტალაცია თბილი შემდეგის გამოყენებით (dnf) ტერმინალის ბრძანება.

sudo dnf install \
    https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm \
    https://dl.fedoraproject.org/pub/epel/epel-next-release-latest-9.noarch.rpm

ახლა, როცა დაამატეთ EPEL საცავი, ჩართეთ (რემი საცავი) შემდეგი ბრძანებით.

sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm -y

სიტუაციური – წაშალეთ არსებული PHP ინსტალაცია

წაშალეთ წინა ვერსია იმ მომხმარებლებისთვის, რომლებსაც სურთ PHP 8.0-ის დაყენება, მაგრამ უკვე დაინსტალირებული აქვთ PHP ან PHP-FPM. მაგალითად, წაშალეთ PHP 7.4 PHP 8.0-ისთვის.

იხილეთ ასევე  როგორ დააინსტალიროთ SMPlayer AlmaLinux 9-ზე

დარწმუნდით, რომ შექმენით ნებისმიერი კონფიგურაციის ფაილის სარეზერვო ასლი.

რეკლამა
sudo dnf remove php php-fpm -y

შემდეგ ამოიღეთ პაკეტის დანარჩენი გაფართოებები.

sudo dnf remove php* -y

PHP მოდულის სიის გადატვირთვა მარტივია შემდეგი ბრძანებით:

sudo dnf module list reset php -y

ახლა თქვენ შეგიძლიათ გადახვიდეთ გაკვეთილის შემდეგ ნაწილზე.

ჩართეთ PHP 8.0 (Remi) საცავი

სწრაფი რჩევაა გამოიყენოთ dnf მოდულის სია ბრძანება ხელმისაწვდომი და ნაგულისხმევი ვარიანტების სანახავად.

შემდეგი dnf მოდულის სიის ბრძანებას შეუძლია ამის გაკეთება:

dnf module list php

თქვენ მოგეთხოვებათ GPG გასაღების იმპორტი Remi-ს საცავისთვის. ტიპი (Y) გააგრძელეთ თუ შეხვდებით.

რეკლამა

მაგალითი გამომავალი:

როგორ დააინსტალიროთ PHP 8.0 AlmaLinux 9-ზე

შემდეგი, ჩართეთ PHP 8.0 შემდეგი ბრძანებით.

sudo dnf module enable php:remi-8.0 -y

დააინსტალირეთ PHP 8.0 / PHP-FPM 8.0

ახლა, როცა დაამატეთ Remi PHP საცავი და ჩართეთ PHP 8.0, რომ იყოს ნაგულისხმევი ვერსია თქვენს AlmaLinux სისტემაში, შეგიძლიათ დააინსტალიროთ PHP 8.0 შემდეგი ბრძანებით:

Apache (httpd) მომხმარებლები:

sudo dnf install php -y

Nginx მომხმარებლები:

sudo dnf install php-fpm -y

თუ გსურთ დააყენოთ ყველაზე ხშირად გამოყენებული გაფართოებები PHP 8.0-ისთვის გამოიყენეთ შემდეგი ბრძანება.

რეკლამა
sudo dnf install php-cli php-fpm php-curl php-mysqlnd php-gd php-opcache php-zip php-intl php-common php-bcmath php-imagick php-xmlrpc php-json php-readline php-memcached php-redis php-mbstring php-apcu php-xml php-dom php-redis php-memcached php-memcache

შენიშვნა, წაშალეთ ის ვარიანტები, რომლებიც არ გსურთ, ეს არჩევითია. რეკომენდირებულია მხოლოდ დააინსტალიროთ და შეინახოთ ის მოდულები, რომლებიც გჭირდებათ შესრულებისა და უსაფრთხოების სტანდარტიდან.

ნებისმიერ დროს დატვირთული მოდულების სანახავად შეგიძლიათ გამოიყენოთ შემდეგი ბრძანება.

php -m

გამოსავლის მაგალითი (ისინი 100%-ით განსხვავდებიან):

[PHP Modules]
apcu
bcmath
calendar
Core
ctype
curl
date
dom
exif
FFI
fileinfo
filter
ftp
gd
gettext
hash
iconv
igbinary
imagick
imap
intl
json
libxml
mbstring
memcache
memcached
msgpack
mysqli
mysqlnd
openssl
pcntl
pcov
pcre
PDO
pdo_mysql
Phar
posix
readline
redis
Reflection
session
shmop
SimpleXML
sockets
sodium
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
xdebug
xml
xmlreader
xmlrpc
xmlwriter
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Xdebug
Zend OPcache

იმისდა მიხედვით, თუ რამდენი მოდული გაქვთ დაინსტალირებული, ეს შეიძლება იყოს საკმაოდ დიდი და ყოველთვის რეკომენდირებულია თვალი ადევნოთ ამას და ამოიღოთ ის, რაც არ გჭირდებათ.

იხილეთ ასევე  როგორ დააინსტალიროთ Plex მედია სერვერი Fedora 37/36/35-ზე

და ბოლოს, გამოიყენეთ შემდეგი ბრძანება ყველასთვის, ვინც დაინტერესებულია განვითარების ფილიალის დაყენებით.

sudo dnf install php-devel

განვითარების დამატებითი ინსტრუმენტი, როგორიცაა გამართვის ხელსაწყოები, გამოიყენეთ შემდეგი ბრძანება.

რეკლამა
sudo dnf install php-xdebug php-pcov

ეს დააინსტალირებს უამრავ დამოკიდებულებას და თუ თქვენ არ ავითარებთ PHP-ით ან არ გაქვთ რაიმე განსაკუთრებული მოთხოვნა მისი ინსტალაციისთვის, არ გამოიყენოთ ეს ვერსია.

ახლა, როცა დააინსტალირეთ PHP 8.0 და გაფართოებები, შეამოწმეთ ვერსია შემდეგი ბრძანებით:

php -v

მაგალითი გამომავალი:

როგორ დააინსტალიროთ PHP 8.0 AlmaLinux 9-ზე

PHP 8.0-ის PHP-FPM ინსტალაციები

განსხვავებით PHP-FPM ინსტალაციებისგან Debian/Ubuntu-ზე, რომლებიც იყენებენ (www-data) მომხმარებელი, ეს ასე არ არის RHEL ოჯახის დანადგარების შემთხვევაში. ნაგულისხმევად, PHP-FPM სერვისი შექმნილია გასაშვებად (აპაჩი) მომხმარებელი, რომელიც არასწორია, რადგან ჩვენ ვიყენებთ Nginx-ს და ეს საჭირო იყო გამოსწორება.

პირველ რიგში, გახსენით შემდეგი (www.conf) კონფიგურაციის ფაილი:

sudo nano /etc/php-fpm.d/www.conf

შემდეგი, შეცვალეთ (აპაჩი) მომხმარებელი და ჯგუფი (Nginx) მომხმარებელი და ჯგუფი.

რეკლამა

მაგალითი:

როგორ დააინსტალიროთ PHP 8.0 AlmaLinux 9-ზე

მაგალითი:

როგორ დააინსტალიროთ PHP 8.0 AlmaLinux 9-ზე

ნანო რედაქტორისთვის, შესანახად დააჭირეთ (CTRL+O) შემდეგ გასვლა (Ctrl+x).

ახლა თქვენც გადატვირთავთ ან გადატვირთავთ თქვენს PHP-FPM სერვისს:

sudo systemctl restart php-fpm

Nginx კონფიგურაცია

Nginx სერვერის ბლოკს სჭირდება შემდეგი მაგალითი ქვემოთ, რომ Nginx PHP ფაილების დასამუშავებლად.

ქვემოთ მოცემულია მაგალითი ყველასთვის სერვერი {} ბლოკები, რომლებიც ამუშავებენ PHP ფაილებს, რომლებსაც ესაჭიროებათ მდებარეობა ~ .php$ დაემატა.

რეკლამა

მხოლოდ მაგალითი:

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index   index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

შეამოწმეთ Nginx, რათა დარწმუნდეთ, რომ არ გაქვთ შეცდომები ზემოთ მოცემული კოდით გაკეთებულ კორექტირებაში; შეიყვანეთ შემდეგი.

sudo nginx -t

მაგალითი გამომავალი:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

გადატვირთეთ Nginx სერვისი, რომ ინსტალაცია დასრულდეს.

sudo systemctl restart nginx

კომენტარები და დასკვნა

მთლიანობაში, PHP 8.0 ნელ-ნელა ხდება ახალი სტანდარტი, რადგან უფრო მეტი დეველოპერი განაახლებს კოდს, რომ იყოს მასთან თავსებადი და ისარგებლოს მისი უპირატესობებით. WordPress-მა დაჰპირდა მხარდაჭერა PHP-ის შემდეგი ვერსიისთვის, 8.1, რომელიც გპირდებათ კიდევ უფრო მეტ სიჩქარის გაუმჯობესებას და უსაფრთხოების გაუმჯობესებას 8.0-ზე მეტი. ასე რომ, თუ თქვენ ცდილობთ გახადოთ თქვენი ვებ – გვერდი უფრო სწრაფი და უსაფრთხო, დაიწყეთ PHP 8–ზე გადასვლა ახლავე – ღირს.


არა ის, რასაც ეძებდით? სცადეთ მოძებნოთ დამატებითი გაკვეთილები.