Get in touch
or send us a question?
CONTACT

Hướng Dẫn Cài Đặt Nhiều Phiên Bản PHP Trên Ubuntu và Chuyển Đổi Qua Lại

Việc cài đặt và quản lý nhiều phiên bản PHP trên cùng một hệ thống rất hữu ích khi bạn cần chạy nhiều dự án có yêu cầu PHP khác nhau (ví dụ: PHP 7.4 cho dự án cũ, PHP 8.3 cho dự án mới). Bài viết này sẽ hướng dẫn bạn cách cài đặt nhiều version PHP và chuyển đổi dễ dàng giữa chúng trên Ubuntu.

✅ Yêu cầu hệ thống

  • Ubuntu 20.04 / 22.04 trở lên
  • Quyền sudo

🗂 Bước 1: Thêm repository chứa các phiên bản PHP

Ubuntu mặc định không có sẵn nhiều phiên bản PHP. Ta sẽ sử dụng repository của Ondřej Surý – nơi cung cấp rất đầy đủ các version PHP.

sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update

🧩 Bước 2: Cài đặt nhiều phiên bản PHP

Ví dụ, bạn muốn cài PHP 7.4, 8.1 và 8.3:

sudo apt install -y php7.4 php7.4-cli php7.4-fpm php7.4-mysql php7.4-xml php7.4-mbstring
sudo apt install -y php8.1 php8.1-cli php8.1-fpm php8.1-mysql php8.1-xml php8.1-mbstring
sudo apt install -y php8.3 php8.3-cli php8.3-fpm php8.3-mysql php8.3-xml php8.3-mbstring

🔄 Bước 3: Chuyển đổi phiên bản PHP (CLI)

Sử dụng update-alternatives để chọn phiên bản PHP đang hoạt động:

1. Thêm các phiên bản PHP vào update-alternatives

sudo update-alternatives --install /usr/bin/php php /usr/bin/php7.4 74
sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.1 81
sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.3 83

2. Chọn phiên bản PHP mong muốn

sudo update-alternatives --config php

Hệ thống sẽ liệt kê danh sách phiên bản, bạn chọn số tương ứng để chuyển.

🔁 Bước 4: Chuyển đổi phiên bản PHP-FPM (dành cho web server)

Nếu bạn dùng Nginx hoặc Apache, bạn cũng cần cấu hình lại PHP-FPM tương ứng.

🧩 Với Nginx:

  1. Mở file config site (ví dụ /etc/nginx/sites-available/default)
  2. Tìm dòng:

nginxSao chép

Chỉnh sửa

fastcgi_pass unix:/run/php/php7.4-fpm.sock;

→ đổi thành phiên bản bạn muốn, ví dụ:

nginxSao chép

Chỉnh sửa

fastcgi_pass unix:/run/php/php8.3-fpm.sock;

  1. Khởi động lại nginx và PHP-FPM:

bashSao chép

Chỉnh sửa

sudo systemctl restart php8.3-fpm sudo systemctl reload nginx

🧩 Với Apache:

Chạy lệnh sau để bật module PHP mong muốn:

bashSao chép

Chỉnh sửa

sudo a2dismod php7.4 sudo a2enmod php8.3 sudo systemctl restart apache2


🔍 Kiểm tra phiên bản đang dùng

bashSao chép

Chỉnh sửa

php -v


📌 Mẹo quản lý tiện lợi

Nếu bạn cần chuyển đổi thường xuyên, có thể tạo alias nhanh:

bashSao chép

Chỉnh sửa

alias php74='sudo update-alternatives --set php /usr/bin/php7.4' alias php83='sudo update-alternatives --set php /usr/bin/php8.3'

Thêm vào ~/.bashrc hoặc ~/.zshrc để dùng nhanh.