Website được thiết kế tối ưu cho thành viên chính thức. Hãy Đăng nhập hoặc Đăng ký để truy cập đầy đủ nội dung và chức năng. Nội dung bạn cần không thấy trên website, có thể do bạn chưa đăng nhập. Nếu là thành viên của website, bạn cũng có thể yêu cầu trong nhóm Zalo "CNTT" các nội dung bạn quan tâm.

26. Cài đặt PHP theo phiên bản khuyến nghị

ICT

1. Vì sao chọn đúng phiên bản PHP quan trọng hơn cài nhanh?

Trong thực tế, nhiều hệ thống gặp các vấn đề như:

  • CMS báo lỗi sau khi cập nhật

  • Extension PHP không tương thích

  • PHP chạy được nhưng hiệu năng kém

  • Khó nâng cấp vì phụ thuộc chằng chịt

Nguyên nhân thường không phải do PHP “kém”, mà do:

Chọn sai phiên bản PHP ngay từ đầu hoặc cài đặt thiếu kiểm soát.

Với môi trường production:

Ổn định và tương thích quan trọng hơn việc chạy phiên bản mới nhất. Cái này rất quan trọng ACE nhé. Đừng ham lên phiên bản mới với các sites đang chạy. Lỗi gần như không kiểm soát được đâu.


2. Nguyên tắc chọn phiên bản PHP cho production

Trong loạt bài này, việc chọn PHP tuân theo các nguyên tắc:

  1. Phiên bản đang được hỗ trợ bảo mật

  2. Tương thích với CMS / framework đang dùng

  3. Được cộng đồng sử dụng rộng rãi

  4. Không ở cuối vòng đời (EOL)

Không chọn PHP chỉ vì:

  • “Bản mới nhất”

  • “Nghe nói nhanh hơn”


3. Phiên bản PHP khuyến nghị hiện nay

Tại thời điểm triển khai loạt bài:

  • PHP 8.2: khuyến nghị cho hệ thống mới

  • PHP 8.1: chấp nhận được nếu cần tương thích

  • PHP 8.0 trở xuống: chỉ dùng cho hệ thống cũ, có lý do rõ ràng

Nguyên tắc:

Không dùng PHP đã hết hỗ trợ cho production.

Với các sites đã chạy với PHP cũ vẫn dùng PHP cũ, chỉ chuyển qua PHP mới sau khi đã test cần thận. Nếu không thể làm thì vẫn cần chạy trên PHP cũ mà nó đang chạy.


4. Vì sao không cài nhiều phiên bản PHP ngay từ đầu?

Một sai lầm phổ biến:

  • Cài cùng lúc 7.4, 8.0, 8.1, 8.2 “cho tiện”

Hệ quả:

  • Xung đột package

  • Khó quản lý

  • Dễ cấu hình nhầm PHP-FPM socket

Khuyến nghị:

Chỉ cài đúng phiên bản cần dùng. Các phiên bản khác sẽ cài sau nếu thật sự cần.


5. Chuẩn bị repository để cài PHP

Ubuntu mặc định có PHP, nhưng:

  • Thường không phải phiên bản mới nhất

  • Không linh hoạt khi cần nâng cấp

Khuyến nghị dùng PPA chính thống của Ondřej Surý.

5.1. Cài đặt PPA PHP

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

6. Cài đặt PHP-FPM theo phiên bản khuyến nghị

Ví dụ cài PHP 8.2:

sudo apt install php8.2-fpm -y

Sau khi cài:

  • PHP-FPM sẽ tự chạy

  • Socket mặc định sẽ được tạo

Kiểm tra trạng thái:

sudo systemctl status php8.2-fpm

Trạng thái mong đợi:

  • active (running)


7. Cài đặt các extension PHP cơ bản

7.1. Extension tối thiểu cho web server

Khuyến nghị cài các extension phổ biến:

sudo apt install php8.2-cli php8.2-common php8.2-mysql php8.2-xml php8.2-curl php8.2-gd php8.2-mbstring php8.2-zip php8.2-opcache -y

Lý do:

  • Phù hợp cho hầu hết CMS (Drupal, WordPress, Laravel)

  • Không cài dư thừa extension hiếm dùng


7.2. Kiểm tra extension đã cài

php -m

Hoặc:

php8.2 -m

8. Kiểm tra phiên bản PHP đang sử dụng

8.1. Kiểm tra CLI

php -v

Nếu server chỉ có một phiên bản PHP:

  • php sẽ trỏ đúng phiên bản vừa cài


8.2. Kiểm tra PHP-FPM socket

Socket mặc định:

/run/php/php8.2-fpm.sock

Đây là thông tin rất quan trọng để cấu hình Nginx ở bài tiếp theo.


9. Những điều KHÔNG nên làm khi cài PHP

  • Không cài Apache kèm theo

  • Không cài PHP module không cần thiết

  • Không chỉnh php.ini vội

  • Không đổi socket nếu chưa hiểu rõ

Nguyên tắc:

Cài PHP sạch, chạy được, rồi mới cấu hình nâng cao.


10. Checklist sau khi cài PHP

  •  PHP-FPM chạy ổn định

  •  Phiên bản PHP đúng theo kế hoạch

  •  Extension cơ bản đã cài

  •  Xác định đúng socket PHP-FPM

  •  Không cài dư thừa phiên bản


11. Bài tiếp theo

Trong Bài 27, chúng ta sẽ kết nối hai thành phần quan trọng:

Cấu hình PHP-FPM cho Nginx

Bài này sẽ hướng dẫn:

  • Kết nối Nginx ↔ PHP-FPM đúng cách

  • Tránh lỗi 502 Bad Gateway

  • Kiểm soát quyền và socket