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.
sudo
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
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
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.
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.
/etc/nginx/sites-available/default
)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;
bashSao chép
Chỉnh sửa
sudo systemctl restart php8.3-fpm sudo systemctl reload nginx
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
bashSao chép
Chỉnh sửa
php -v
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.
You need to login in order to like this post: click here
YOU MIGHT ALSO LIKE