Hướng dẫn cài đặt PHP 8.1 trên Ubuntu 22.04, bao gồm việc cài đặt FULL các extensions của PHP 8.1-fpm và cấu hình cho nhiều phiên bản PHP trên hệ đều hành Ubuntu.
Cách cài đặt và cấu hình PHP 8.1 trên Ubuntu 22.04 LTS
Bản phát hành chính thức của PHP 8.1 ngày 25/11/2021 với nhiều tính năng mới và cải tiến hiệu suất, và một số bộ tính năng mới tuyệt vời đi kèm với nó là JIT compiler, named arguments, union types, attributes. Bạn có thể tham khảo thêm tại đây.
Bước 1: Thêm PPA repository và cài đặt PHP 8.1

Trên hệ điều hành Ubuntu, mỗi ứng dụng và công cụ đều được quản lý thông qua repository. Để cài đặt PHP 8.1 thành công trên Ubuntu 22.04, bạn có thể mở terminal và thêm repository cho PHP8.1 bằng câu lệnh:
sudo apt install lsb-release ca-certificates apt-transport-https software-properties-common -y

Sau khi thêm kho lưu trữ (repository), bạn có thể cập nhật hệ thống và cài đặt PHP 8.1 trên Ubuntu bằng cách nhập câu lệnh tương ứng. Để xác nhận, hãy nhập “Y” và nhấn Enter.
sudo add-apt-repository ppa:ondrej/php sudo apt update sudo apt install --no-install-recommends php8.1
Trong đó --no-install-recommends
để đảm bảo rằng các gói không liên quan sẽ không được cài đặt kèm theo, ví dụ như apache2.

Vậy là bạn đã hoàn tất việc cài đặt PHP 8.1 trên Ubuntu 22.04 rồi đấy, bạn có thể kiểm tra phiên bản hiện tại bằng câu lệnh “php -v”. Bây giờ, bạn cần cài đặt các extension cần thiết cho dự án của mình.
Bước 2: Cài đặt php8.1-fpm trên Ubuntu 22.04
Để cài đặt các phần mở rộng (extensions/modules) PHP 8 trên Ubuntu, bạn có thể sử dụng lệnh:
sudo apt install php8.1-<extension>
Và đây là danh sách các extension cho php 8.1:
sudo apt install php8.1-* php8.1-amqp php8.1-common php8.1-gd php8.1-ldap php8.1-apcu php8.1-curl php8.1-gmp php8.1-mailparse php8.1-ast php8.1-dba php8.1-igbinary php8.1-mbstring php8.1-bcmath php8.1-dev php8.1-imagick php8.1-memcached php8.1-bz2 php8.1-ds php8.1-imap php8.1-msgpack php8.1-cgi php8.1-enchant php8.1-interbase php8.1-mysql php8.1-readline php8.1-sqlite3 php8.1-xsl php8.1-xml php8.1-redis php8.1-sybase php8.1-yac php8.1-raphf php8.1-rrd php8.1-tidy php8.1-yaml php8.1-solr php8.1-smbclient php8.1-uuid php8.1-zip php8.1-psr php8.1-snmp php8.1-xdebug php8.1-zmq php8.1-cli php8.1-odbc php8.1-opcache php8.1-pgsql php8.1-phpdbg php8.1-pspell php8.1-soap php8.1-oauth php8.1-psr php8.1-fpm php8.1-intl php8.1-xhprof
Ví dụ, nếu bạn chỉ muốn cài đặt php8.1-fpm và một số extension cần thiết cho dự án, bạn có thể sử dụng câu lệnh sau:
sudo apt install php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-dev php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-intl php8.1-fpm php8.1-zip php8.1-bcmath php8.1-mcrypt

Khi bạn đã hoàn thành việc cài đặt phiên bản PHP 8.1 trên Ubuntu của mình, hãy khởi động php8.1-fpm và cho phép nó khởi động cùng với hệ thống.
sudo systemctl enable php8.1-fpm sudo service php8.1-fpm restart
Bước 3: Cấu hình php 8.1-fpm trên Ubuntu 22.04
PHP-FPM (PHP FastCGI Process Manager) là một trình quản lý quá trình FastCGI cho PHP. Trong đó có 2 giá trị cần được cấu hình là user và listen, nó cho phép bạn xác định user được sử dụng để thực thi các quá trình PHP và cách thức truyền yêu cầu từ máy chủ web đến PHP-FPM.
Thêm vào đó, user và listen trong PHP-FPM cũng có ý nghĩa về bảo mật và quyền (permission). Nếu bạn sử dụng user mặc định là www-data hoặc để listen trên socket trên toàn bộ IP, điều này có thể làm cho ứng dụng PHP của bạn trở nên dễ bị tấn công. Việc cấu hình PHP 8.1 trên Ubuntu cho user và listen để phù hợp và giới hạn quyền truy cập của chúng có thể giúp củng cố bảo mật cho trang web của bạn. Đảm bảo rằng chỉ có user được chỉ định mới có thể thực thi các quá trình PHP trên máy chủ.
Để cấu hình php 8.1-fpm trên Ubuntu 22.04, hãy truy cập vào thư mục “/etc/php/8.1/fpm/pool.d” và chỉnh sửa file “www.conf“. Tìm và thay đổi giá trị cho các dòng sau:
user = www-data | user = itsmeit |
listen.owner = www-data | listen.owner = itsmeit |
Trong đó, user và listen.owner cần được thiết lập thành tên người dùng mà bạn muốn php8.1-fpm quản lý. Ví dụ, trên Ubuntu của tôi, tên người dùng là “itsmeit” nên tôi sẽ thiết lập thành “itsmeit”. Sau khi thay đổi, bạn cần khởi động lại php8.1-fpm để cập nhật các thay đổi.
sudo service php8.1-fpm restart
Bước 4: Cách tối ưu hóa file cấu hình php.ini để cải thiện hiệu suất

Sau đó, bạn cần tối ưu hóa (optimization) và cấu hình file php.ini bằng cách tìm và chỉnh sửa các giá trị phù hợp với nhu cầu của mình. Bạn cần sửa cả hai file và dưới đây là các giá trị mà bạn có thể thay đổi để đạt hiệu suất tối ưu cho trang web hoặc ứng dụng chạy PHP. Bây giờ hãy mở file và bất kỳ công cụ edit nào mà bạn có như: nano, gedit, sublime text…
sudo nano /etc/php/8.1/cli/php.ini sudo nano /etc/php/8.1/fpm/php.ini
Những giá trị sau đây là những giá trị cấu hình php.ini nên thay đổi. Lưu ý rằng đây là chỉ những giá trị tham khảo và bạn có thể tăng hoặc giảm giá trị để phù hợp với cấu hình máy tính hoặc server của bạn.
date.timezone = Asia/Ho_Chi_Minh max_execution_time = 18000 max_input_time = 6000 max_input_vars = 5000 memory_limit= 2048M post_max_size = 64M upload_max_filesize = 64M zlib.output_compression = On (Off with wordpress) opcache.enable=1 opcache.enable_cli=1 opcache.memory_consumption=512 opcache.max_accelerated_files=100000 opcache.consistency_checks=0
Để config có hiệu lực, bạn cần lưu lại file và khởi động lại php8.1-fpm.
sudo service php8.1-fpm restart
Note: Bạn có thể cài đặt nhiều phiên bản PHP như 7.4, 8.0, 8.1 hoặc 8.2 trên Ubuntu và cấu hình mặc định cho 1 phiên bản băng câu lệnh thay đổi phiên bản PHP:
sudo update-alternatives --config php

Trên đây là hướng dẫn chi tiết để cài đặt và sử dụng phiên bản PHP 8.1 trên hệ điều hành Ubuntu 22.04. Ngoài ra, bạn có thể mở rộng kiến thức của mình về quyền hạn trong PHP để cải thiện hiệu suất của ứng dụng hoặc website tại đây.
– Advertising –