Hướng Dẫn Sử Dụng Nhiều Phiên Bản PHP Trên Một Máy Chủ Ubuntu 20.04
Published on December 5, 2024

Giới thiệu
Nếu bạn là quản trị viên hệ thống hoặc quản trị viên máy chủ web, việc biết cách cài đặt và sử dụng nhiều phiên bản PHP trên một máy chủ là rất quan trọng. Điều này rất hữu ích khi bạn có nhiều ứng dụng PHP trên máy chủ và mỗi ứng dụng tương thích với các phiên bản PHP khác nhau. Trong trường hợp này, bạn có thể cấu hình NGINX để xác định phiên bản PHP mà bạn mong muốn.
Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách cài đặt PHP 7.2, 7.4, 8.0 và 8.1 trên Ubuntu 20.04.
Yêu cầu
Một máy chủ chạy Ubuntu 20.04.
Mật khẩu root đã được cấu hình trên máy chủ.
Bước 1 — Thêm a PHP Repository
Mặc định, Ubuntu 20.04 đi kèm với phiên bản PHP 7.4. Vì vậy, bạn sẽ cần thêm kho lưu trữ PHP vào hệ thống của mình để cài đặt nhiều phiên bản PHP.
Đầu tiên, cài đặt các phụ thuộc cần thiết bằng lệnh sau:
sudo apt-get install software-properties-common gnupg2 -y Gói software-properties-common cung cấp công cụ dòng lệnh apt-add-repository, công cụ mà bạn sẽ sử dụng để thêm kho lưu trữ PPA (Personal Package Archive) ondrej/php.
Bây giờ, hãy thêm kho lưu trữ ondrej/php vào hệ thống của bạn. PPA ondrej/php sẽ có các phiên bản PHP cập nhật hơn so với các kho lưu trữ chính thức của Ubuntu, và nó cũng sẽ cho phép bạn cài đặt nhiều phiên bản PHP trên cùng một hệ thống.:
sudo add-apt-repository ppa:ondrej/php Cập nhật repository:
sudo apt-get update -ySau khi kho lưu trữ được cập nhật, bạn có thể tiến hành cài đặt nhiều phiên bản PHP.
Bước 2 — Cài đặt các phiên bản PHP (ở ví dụ là 7.4, 8.0 và 8.1)
Để cài đặt phiên bản PHP 7.4 với hỗ trợ PHP-FPM, chạy lệnh sau:
sudo apt-get install php7.4 php7.4-fpm php7.4-mysql libapache2-mod-php7.4 libapache2-mod-fcgid -y- php7.4 là một gói metapackage được sử dụng để chạy các ứng dụng PHP.
- php7.4-fpm cung cấp trình thông dịch Fast Process Manager chạy dưới dạng daemon và nhận các yêu cầu Fast/CGI.
- php7.4-mysql kết nối PHP với cơ sở dữ liệu MySQL.
- libapache2-mod-php7.4 cung cấp module PHP cho máy chủ web Apache.
- libapache2-mod-fcgid chứa mod_fcgid, một module khởi động nhiều phiên bản chương trình CGI để xử lý các yêu cầu đồng thời.
Bây giờ, lặp lại quá trình này cho phiên bản PHP 8.0. Cài đặt php8.0, php8.0-fpm, php8.0-mysql và libapache2-mod-php8.0.
sudo apt-get install php8.0 php8.0-fpm php8.0-mysql libapache2-mod-php8.0 -yBây giờ, lặp lại quá trình này cho phiên bản PHP 8.1. Cài đặt php8.1, php8.1-fpm, php8.1-mysql và libapache2-mod-php8.1.
sudo apt-get install php8.1 php8.1-fpm php8.1-mysql libapache2-mod-php8.1 -yBây giờ, các phiên bản PHP đã được cài đặt trên hệ thống của bạn:
Bước 3 — Đặt Phiên Bản PHP Mặc Định cho Command Line
Đầu tiên, kiểm tra phiên bản PHP hiện tại của dòng lệnh bằng cách chạy lệnh sau:
php --versionBạn sẽ thấy kết quả sau:
PHP 8.0.5 (cli) (built: May 3 2021 11:30:57) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.5, Copyright (c) Zend Technologies
with Zend OPcache v8.0.5, Copyright (c), by Zend TechnologiesNhư bạn có thể thấy, PHP 8.0 là phiên bản PHP mặc định.
Bây giờ, hãy đặt phiên bản PHP mặc định thành PHP 7.4 bằng cách sử dụng lệnh sau:
update-alternatives --config phpBạn sẽ được yêu cầu đặt phiên bản PHP mặc định như hình dưới đây:
There are 3 choices for the alternative php (providing /usr/bin/php).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/php8.0 80 auto mode
1 /usr/bin/php7.4 74 manual mode
2 /usr/bin/php8.0 80 manual mode
3 /usr/bin/php8.1 81 manual mode
Press "enter" to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/bin/php7.4 to provide /usr/bin/php (php) in manual modeChọn phiên bản PHP mong muốn của bạn và nhấn "Enter" để đặt nó làm phiên bản mặc định.
Bây giờ, kiểm tra phiên bản PHP mặc định của bạn bằng cách sử dụng lệnh sau:
php --versionBạn sẽ thấy kết quả sau:
PHP 7.4.18 (cli) (built: May 3 2021 11:27:06) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.18, Copyright (c), by Zend Technologies