Vì một số lý do, chúng ta muốn chạy 02 website với 02 phiên bản PHP khác nhau thì việc cài đặt nhiều phiên bản PHP trên cùng Server sẽ là phương án tối ưu nhất giúp các bạn tiết kiệm chi phí và thời gian quản lý.
Trong bài viết này, chúng ta sẽ sử dụng 02 VirtualHost trên NGINX, 01 VirtualHost sẽ hoạt động với PHP 5.6 và 01 sẽ hoạt động với PHP 7.3. Đây cũng là 02 phiên bản PHP có sự khác biệt lớn nhất. Tất nhiên, với cách này bạn có thể thử triển khai với nhiều hơn 02 phiên bản PHP.
Cài đặt PHP 5.6 và PHP 7.3
Đầu tiên chúng ta cần cài đặt các thư viện cần thiết trước khi tiếp tục với PHP:
sudo apt install python-software-properties
sudo add-apt-repository ppa:ondrej/php
Để chạy song song 2 phiên bản PHP, chúng ta sẽ cài PHP FPM và FastCGI
apt update
sudo apt install php5.6 php5.6-fpm
sudo apt install php7.3 php7.3fpm
Sau khi cài đặt, bạn nhớ kiểm tra lại service php-fpm đã hoạt động chưa
sudo systemctl status php5.6-fpm
sudo systemctl status php7.3-fpm
Cài đặt và cấu hình Nginx
Nếu bạn chưa cài đặt máy chủ web Nginx thì có thể tham khảo chi tiết trong bài viết hướng dẫn cài đặt LEMP của How4VN.
Sau khi cài Nginx bạn tạo 02 thư mục chưa trang web để bắt đầu kiểm tra việc hoạt động của 02 phiên bản PHP.
sudo mkdir /var/www/php56
sudo mkdir /var/www/php73
Tạo 02 file index.php với hàm <?php phpinfo(); ?> trong thư mục đã tạo phía trên
echo "<?php phpinfo(); ?>" > /var/www/php56/index.php
echo "<?php phpinfo(); ?>" > /var/www/php73/index.php
Tiếp tới bạn tạo 02 block trong sites-available
như trong bài hướng dẫn sử dụng Nginx. Chỉ khác biệt 01 chút ở trong mục cấu hình PHP:
# PHP 5.6
location ~* \.php$ {
# With php-fpm unix sockets
fastcgi_pass unix:/var/run/php/php5.6-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
và
# PHP 7.2
location ~* \.php$ {
# With php-fpm unix sockets
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
Sau đó restart Nginx để nhận cấu hình mới: sudo systemctl restart nginx.service
Bây giờ bạn hãy truy cập vào tên miền bạn đã trỏ tới 02 block trên là sẽ thấy được PHP info hiển thị với 02 phiên bản khác nhau. Và chúng ta có thể sử dụng cho 02 phiên bản PHP cho 02 website trên cùng 01 máy chủ web.
How4VN.com
BÀI VIẾT TƯƠNG TỰ: