Cài Đặt PHP 8.1 trên Ubuntu 24.04

Bạn muốn website của mình chạy nhanh hơn và bảo mật hơn? Hãy nâng cấp lên PHP 8.1 ngay trên Ubuntu 24.04. Bài viết này sẽ hướng dẫn bạn từng bước một cách chi tiết và dễ hiểu nhất.

This article provides a comprehensive guide on installing PHP 8.1 on Ubuntu 24.04.

Tại Sao Nên Chọn PHP 8.1?

PHP 8.1 mang đến nhiều cải tiến vượt trội so với các phiên bản trước. Nó bao gồm hiệu năng được cải thiện đáng kể, tính năng mới và tăng cường bảo mật. Việc nâng cấp lên PHP 8.1 giúp website của bạn hoạt động mượt mà hơn và an toàn hơn trước các cuộc tấn công.

Điều Kiện Tiên Quyết

Trước khi bắt đầu, hãy đảm bảo bạn có một máy chủ Ubuntu 24.04 đã được cài đặt và cấu hình. Bạn cũng cần có quyền sudo để thực hiện các lệnh cài đặt.

Các Bước Cài Đặt PHP 8.1 trên Ubuntu 24.04

Bước 1: Cập nhật Hệ Thống

Luôn bắt đầu bằng cách cập nhật hệ thống của bạn để đảm bảo bạn có các gói phần mềm mới nhất.

sudo apt update && sudo apt upgrade -y

Bước 2: Thêm Ondřej Surý PPA

Ondřej Surý PPA là một kho lưu trữ đáng tin cậy chứa các phiên bản PHP mới nhất. Thêm PPA này vào hệ thống của bạn để cài đặt PHP 8.1.

sudo add-apt-repository ppa:ondrej/php -y

Bước 3: Cập nhật Danh Sách Gói Phần Mềm

Sau khi thêm PPA, bạn cần cập nhật danh sách gói phần mềm để hệ thống nhận diện các gói mới.

sudo apt update

Bước 4: Cài Đặt PHP 8.1 và Các Phần Mở Rộng Cần Thiết

Bây giờ, bạn có thể cài đặt PHP 8.1 cùng với các phần mở rộng phổ biến. Hãy chọn các phần mở rộng phù hợp với nhu cầu của website bạn.

sudo apt install php8.1 php8.1-fpm php8.1-cli php8.1-mysql php8.1-gd php8.1-curl php8.1-mbstring php8.1-xml php8.1-zip

Bước 5: Kiểm Tra Phiên Bản PHP

Sau khi cài đặt, hãy kiểm tra xem PHP 8.1 đã được cài đặt thành công hay chưa.

php -v

Lệnh này sẽ hiển thị phiên bản PHP đã được cài đặt. Bạn sẽ thấy thông tin về PHP 8.1.

Bước 6: Cấu Hình PHP-FPM (Nếu Sử Dụng Nginx)

Nếu bạn sử dụng Nginx, bạn cần cấu hình PHP-FPM để Nginx có thể xử lý các file PHP. Bạn nên tìm hiểu [Php là gì?] trước khi cấu hình.

sudo nano /etc/nginx/sites-available/default

Trong file cấu hình Nginx, tìm phần liên quan đến PHP và chỉnh sửa như sau:

location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; }

Sau khi chỉnh sửa, khởi động lại Nginx để các thay đổi có hiệu lực.

sudo systemctl restart nginx

Bước 7: Khởi Động Lại PHP-FPM

Khởi động lại PHP-FPM để đảm bảo tất cả các thay đổi cấu hình được áp dụng.

sudo systemctl restart php8.1-fpm

Truy cập Php để biết thêm thông tin chi tiết.

Kiểm Tra Hoạt Động của PHP 8.1

Tạo một file PHP đơn giản (ví dụ: `info.php`) với nội dung sau:

<?php phpinfo(); ?>

Đặt file này vào thư mục gốc của website của bạn và truy cập nó qua trình duyệt. Bạn sẽ thấy trang thông tin PHP hiển thị, xác nhận rằng PHP 8.1 đã hoạt động chính xác.

PHP 8.1 có gì mới so với PHP 8.0?

PHP 8.1 giới thiệu nhiều tính năng mới như Enums, fibers, read-only properties, và các cải tiến về hiệu năng. Nó cũng loại bỏ một số tính năng không còn được dùng nữa.

Làm thế nào để kiểm tra xem PHP 8.1 đã được cài đặt thành công?

Bạn có thể sử dụng lệnh `php -v` trong terminal để kiểm tra phiên bản PHP đã được cài đặt. Ngoài ra, bạn có thể tạo một file `info.php` chứa hàm `phpinfo()` và truy cập nó qua trình duyệt.

Tôi có cần phải gỡ cài đặt phiên bản PHP cũ trước khi cài đặt PHP 8.1 không?

Không nhất thiết. Bạn có thể cài đặt PHP 8.1 song song với các phiên bản PHP cũ. Tuy nhiên, bạn cần cấu hình máy chủ web của mình để sử dụng PHP 8.1 cho các website của bạn.

PHP-FPM là gì và tại sao tôi cần nó?

PHP-FPM (FastCGI Process Manager) là một trình quản lý tiến trình FastCGI cho PHP. Nó giúp quản lý các tiến trình PHP một cách hiệu quả, cải thiện hiệu năng và độ ổn định của website. Nếu bạn sử dụng Nginx, bạn cần PHP-FPM để xử lý các file PHP.

Tôi nên chọn những phần mở rộng PHP nào?

Các phần mở rộng PHP bạn nên chọn phụ thuộc vào nhu cầu của website của bạn. Một số phần mở rộng phổ biến bao gồm `php-mysql` (kết nối MySQL), `php-gd` (xử lý ảnh), `php-curl` (gửi HTTP request), `php-mbstring` (xử lý chuỗi đa byte), `php-xml` (xử lý XML), và `php-zip` (nén và giải nén file ZIP).