Cài đặt PHP 8 trên RHEL 8

Bài viết hướng dẫn cài đặt PHP 8 trên RHEL 8 làm web server.

Giới thiệu về PHP 8

PHP là ngôn ngữ lập trình mã nguồn mở, nó là viết tắt của chữ "Hypertext Preprocessor"

PHP 8.0 là một bản cập nhật lớn cho ngôn ngữ PHP. PHP 8 chứa nhiều tính năng mới và được tối ưu hóa, bao gồm các đối số được đặt tên (Named arguments), kiểu kết hợp (Union types), thuộc tính (Attributes), truyền thuộc tính phương thức khởi tạo (Constructor property promotion), so sánh biểu thức (Match expression), toán tử nullsafe, JIT và các cải tiến về kiểu hệ thống, xử lý lỗi và tính nhất quán.

Cấu hình Repositories cho PHP 8 trên RHEL 8

Tại thời điểm viết bài viết này PHP 8 chưa được thêm vào Repositories, nên để cài đặt được PHP 8 chúng ta cần thêm gói repo remi để cài đặt được PHP 8. Chúng ta thêm repo remi bằng 2 lệnh sau:

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
yum install https://rpms.remirepo.net/enterprise/remi-release-8.rpm

Sau đó dùng lệnh sau kiểm tra cại các phiên PHP được cài đặt:

yum module list php

Như hình trên là chúng ta thêm Remi repo thành công, trong đó đã bao gồm phiên bản PHP 8.

Cài đặt PHP 8 trên RHEL 8

Chúng ta sẽ enable phiên bản PHP remi-8.0 để cài đặt, chúng ta dùng lệnh sau:

 yum module enable php:remi-8.0

Sau đó cài đặt PHP 8 bằng lệnh:

yum install php -y

Cấu hình PHP 8 trên RHEL 8

Đầu tiên chúng ta mở file /etc/php.ini

vim /etc/php.ini

Tìm dòng

;cgi.fix_pathinfo=1

Xóa dấu chấm phẩy(;), sửa giá trị 1 thành 0

cgi.fix_pathinfo=0

Tiếp theo mở file "/etc/php-fpm.d/www.conf"

vim /etc/php-fpm.d/www.conf

Tìm dòng

user = apache

Thay bằng

user = nginx

Tìm dòng

group = apache

Thay bằng

group = nginx

Chúng ta sẽ khởi động php-fpm

systemctl start php-fpm.service

Và cho php-fpm khởi động cùng RHEL 8

systemctl enable php-fpm.service

Cấu hình PHP cho host

Ở đây mình sẽ cấu hình cho host mặc định để chúng ta kiểm tra php

Mở file /etc/nginx/nginx.conf

vim /etc/nginx/nginx.conf

Thêm vào đoạn sau cuối file trước dấu”}” của block server:

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

Sau khi cấu hình host thì chúng ta phải khởi động lại NGINX:

systemctl restart nginx.service

Tạo một file info.php trong /usr/share/nginx/html với nội dung:

<?php
phpinfo();
?>

Vậy là xong, giờ chúng ta mở trình duyệt web lên và nhập vào

http://server_domain_name_or_IP/info.php

Các bạn nhớ thay IP bằng IP của server trên hệ thống của bạn. Nếu màn hình thể hiện ra thông tin PHP là chúng ta đã cài đặt thành công PHP 8 trên RHEL 8.

Kết luận

Sau khi thực hiện cài đặt xong theo bài viết này là chúng ta đã hoàn tất Cài đặt LEPP với RHEL 8 + NGINX + PostpreSQL + PHP 8 làm web server.

Để cấu hình host trên LEPP các nó tương ứng với với cấu hình host trên Lemp các bạn có thể thêm khảo qua để biết thêm.

Serial cài đặt LEPP của mình cũng kết thúc với bài viết này. Hẹn các bạn ở những bài viết khác với những chủ đề khác.