Cài đặt PHP 8.2 trên CentOS 7 - Install PHP 8.2 on CentOS 7

Trong bối cảnh sự phát triển không ngừng của công nghệ và ngôn ngữ lập trình, việc cập nhật phiên bản của các thành phần trong môi trường web là một bước quan trọng để đảm bảo tính bảo mật, hiệu suất và tích hợp các tính năng mới. Phiên bản PHP 8.2, một phiên bản mới nhất trong chuỗi phát triển của ngôn ngữ lập trình PHP, đã ra mắt với hàng loạt cải tiến và tính năng mới hứa hẹn đáp ứng các yêu cầu ngày càng cao của các ứng dụng web hiện đại. Trong bài viết này, chúng ta sẽ khám phá cách install PHP 8.2 trên hệ điều hành CentOS 7, một phiên bản hệ điều hành phổ biến trong môi trường máy chủ. Chúng ta sẽ dẫn bạn từng bước một, từ việc chuẩn bị môi trường cho đến quá trình cài đặt PHP 8.2, giúp bạn tạo ra một môi trường phát triển mạnh mẽ và linh hoạt. 

Dưới đây là một số điểm nổi bật trong PHP 8.2:

  • Jit động (Dynamic JIT): PHP 8.2 đưa ra tính năng "jit động", cho phép JIT (biên dịch ngay lập tức) được kích hoạt cho một phạm vi hẹp của mã nguồn thay vì toàn bộ ứng dụng. Điều này có thể cải thiện hiệu suất cho các phần mã nguồn cụ thể.
  • Cải tiến trong kiểu hệ thống (Type System): PHP 8.2 tiếp tục cải thiện hệ thống kiểu dữ liệu, giúp kiểm tra lỗi tốt hơn và tăng tính nhất quán trong mã nguồn.
  • Giao diện đối tượng (Object-oriented enhancements): Có nhiều cải tiến trong lập trình hướng đối tượng, bao gồm khả năng thêm kiểu đối số đến hàm gọi.
  • Hiệu suất cải tiến (Performance Improvements): Mỗi phiên bản PHP thường đem lại cải tiến hiệu suất, và PHP 8.2 cũng không phải là ngoại lệ. Các cải tiến này giúp ứng dụng chạy nhanh hơn và tốn ít tài nguyên hơn.
  • Cải tiến trong xử lý chuỗi (String Handling Enhancements): PHP 8.2 cung cấp một số cải tiến trong xử lý chuỗi, bao gồm việc thêm hàm để xử lý chuỗi một cách hiệu quả hơn.
  • Cải tiến về an toàn và bảo mật (Security and Safety Enhancements): PHP 8.2 cũng đem lại các cải tiến liên quan đến an toàn và bảo mật, giúp ứng dụng của bạn trở nên an toàn hơn khi hoạt động trên môi trường mạng.

Install PHP 8.2 trên CentOS 7

Install PHP 8.2 có thể được thực hiện trên hệ thống CentOS 7 từ các kho lưu trữ bên thứ ba như Remi hoặc IUS. Những kho lưu trữ này cung cấp các phiên bản cập nhật của PHP cho các hệ thống này, không có sẵn trong kho lưu trữ OS mặc định. Tuy nhiên, cần lưu ý rằng đối với các ứng dụng hiện tại đang chạy trên phiên bản PHP cũ hơn, hãy xem xét thử nghiệm phiên bản PHP mới hơn trên môi trường không phải là môi trường sản xuất trước để đảm bảo ứng dụng của bạn tương thích với nó.

Bước 1: Cập nhật CentOS 7

Cập nhật danh sách gói trên hệ thống CentOS bằng các lệnh sau trong terminal.

sudo yum update -y

Sau đó khởi động lại để đảm bảo tất cả các cập nhật được áp dụng đúng cách:

sudo reboot

Bước 2: Thêm kho lưu trữ EPEL & REMI

EPEL và REMI là hai kho lưu trữ bên thứ ba phổ biến cung cấp các gói phần mềm bổ sung cho các bản phân phối Linux doanh nghiệp. REMI cung cấp các phiên bản mới nhất của PHP như PHP 8.2.

Kích hoạt kho lưu trữ EPEL trên hệ thống CentOS 7:

sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Thêm kho lưu trữ Remi cung cấp phiên bản mới nhất của PHP cho CentOS và RHEL.

sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Khi kho lưu trữ đã được thêm, kích hoạt REMI cho PHP 8.2.

sudo yum-config-manager --enable remi-php82

Bước 3: Install PHP 8.2 trên CentOS 7 

Do các gói cần thiết có sẵn trong kho lưu trữ mà chúng ta vừa kích hoạt, việc cài đặt PHP 8.2 trên CentOS 7 có thể được thực hiện bằng cách sử dụng trình quản lý gói yum (Yellowdog Updater Modified).

sudo yum -y install php

Xác nhận phiên bản PHP hiện tại mặc định trên hệ thống.

$ php -v
PHP 8.2.1 (cli) (built: Jan 3 2023 18:40:55) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.2.1, Copyright (c) Zend Technologies

Bước 4: Cài đặt các tiện ích mở rộng PHP 8.2 trên CentOS 7

Tùy thuộc vào yêu cầu của ứng dụng sẽ chạy trên hệ thống, có thể cần cài đặt thêm các mô-đun PHP bổ sung, chẳng hạn như php-curl, php-mysqlnd, php-zip, v.v.

sudo yum install php-{common,pear,cgi,curl,mbstring,gd,mysqlnd,gettext,bcmath,json,xml,fpm,intl,zip,imap}

Chọn y đồng ý để tiếp tục cài đặt.

....
Transaction Summary
======================================================================================================================================================================================================
Install 10 Packages (+26 Dependent packages)

Total download size: 20 M
Installed size: 68 M
Is this ok [y/d/N]: y

Bước 5: Sử dụng PHP với máy chủ web Nginx / Apache

Sử dụng PHP với máy chủ web Nginx hoặc Apache để tạo các trang web động và tương tác.

Sử dụng PHP 8.2 với Nginx trên CentOS 7

PHP-FPM (Quản lý quá trình FastCGI) là một tiến trình nền lắng nghe các yêu cầu PHP đến và thực thi chúng. Trong trường hợp này, Nginx hoạt động như một reverse proxy, chuyển tiếp các yêu cầu đến PHP-FPM để thực thi.

Cài đặt Nginx và tiện ích mở rộng FPM PHP trên hệ thống:

sudo yum install vim nginx php-fpm -y

Kích hoạt dịch vụ nginxphp-fpm.

$ sudo systemctl enable --now nginx php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.

Xác nhận trạng thái của các dịch vụ đã khởi động.

$ systemctl status nginx php-fpm
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2023-01-20 12:20:26 UTC; 19s ago
Process: 8645 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 8642 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 8640 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 8647 (nginx)
CGroup: /system.slice/nginx.service
├─8647 nginx: master process /usr/sbin/nginx
├─8648 nginx: worker process
└─8649 nginx: worker process

Jan 20 12:20:26 cent7.mylab.io systemd[1]: Starting The nginx HTTP and reverse proxy server...
Jan 20 12:20:26 cent7.mylab.io nginx[8642]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Jan 20 12:20:26 cent7.mylab.io nginx[8642]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Jan 20 12:20:26 cent7.mylab.io systemd[1]: Started The nginx HTTP and reverse proxy server.

● php-fpm.service - The PHP FastCGI Process Manager
Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2023-01-20 12:20:26 UTC; 19s ago
Main PID: 8641 (php-fpm)
Status: "Processes active: 0, idle: 5, Requests: 0, slow: 0, Traffic: 0req/sec"
CGroup: /system.slice/php-fpm.service
├─8641 php-fpm: master process (/etc/php-fpm.conf)
├─8650 php-fpm: pool www
├─8651 php-fpm: pool www
├─8652 php-fpm: pool www
├─8653 php-fpm: pool www
└─8654 php-fpm: pool www

Jan 20 12:20:26 cent7.mylab.io systemd[1]: Starting The PHP FastCGI Process Manager...
Jan 20 12:20:26 cent7.mylab.io systemd[1]: Started The PHP FastCGI Process Manager.

Đặt PHP-FPM lắng nghe trên một socket thay vì IP và cổng. Mở tệp và thực hiện các sửa đổi sau.

$ sudo vim /etc/php-fpm.d/www.conf
user = nginx
group = nginx
;listen = 127.0.0.1:9000
listen = /var/run/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Khởi động lại dịch vụ php-fpm sau khi đã thực hiện các thay đổi.

sudo systemctl restart php-fpm

Chỉnh sửa tệp cấu hình Nginx và thêm khối sau vào khối http để cấu hình Nginx chuyển tiếp các yêu cầu PHP đến PHP-FPM.

Mẫu cấu hình VirtualHost:

$ sudo vim /etc/nginx/nginx.conf
server {
listen 80;
server_name myapp.example.com;
root /var/www/myapp;
index index.php index.html;

location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass unix:/var/run/php-fpm.sock;
}
}

Xác minh các cấu hình Nginx của bạn.

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Sử dụng PHP 8.2 với Apache trên CentOS 7 

Khi sử dụng máy chủ web Apache, mã PHP thường được thực thi bằng cách sử dụng mô-đun mod_php, một phần của Apache. Mod_php là một mô-đun Apache chịu trách nhiệm xử lý mã PHP trực tiếp trong quá trình Apache.

Cài đặt gói Apache httpd:

sudo yum install httpd

Dừng dịch vụ nginx nếu đang chạy:

sudo systemctl disable --now nginx

Khởi động và kích hoạt dịch vụ httpd:

sudo systemctl enable --now httpd

Thêm trang chào mừng PHP vào để xác nhận nó hoạt động.

sudo tee /var/www/html/info.php<<EOF
<?php phpinfo(); ?>
EOF

Truy cập trang thông tin PHP trên trình duyệt web của bạn http://localhost_or_serverip/info.php, bạn nên thấy trang thông tin PHP.

install php 8.2 centos 7

Tổng kết, việc install PHP 8.2 trên hệ thống CentOS 7 là một bước quan trọng để nâng cao hiệu suất, tích hợp tính năng mới và đảm bảo tính bảo mật cho ứng dụng web của bạn. Sử dụng các kho lưu trữ bên thứ ba như Remi hoặc IUS giúp bạn tiếp cận các phiên bản cập nhật của PHP, mở ra khả năng phát triển và tối ưu hóa mã nguồn của mình.

Mọi người cùng tìm kiếm: install php 8.2 centos 7, update php version centos 7, install php centos 7, install php 8.2, install php 8 centos 7, install php-fpm centos 7, centos install php 8.2, install php 8.2 on centos 7, how to install php on centos 7, install php on centos

Các gói dịch vụ Cloud VPS của KDATA mang đến cho bạn nhiều lựa chọn về hiệu suất cũng như khả năng lưu trữ, mọi nhu cầu về doanh nghiệp đều được đáp ứng. KDATA đảm bảo khả năng uptime lên đến 99,99%, toàn quyền quản trị và free backup hằng ngày. Tham khảo ngay các gói dịch vụ Cloud VPS:

https://kdata.vn/cloud-vps

👉 Liên hệ ngay KDATA hỗ trợ tận tình, support tối đa, giúp bạn trải nghiệm dịch vụ giá hời chất lượng tốt nhất