Đổi phiên bản PHP cho website trên hosting cPanel

Mỗi mã nguồn website cần một khoảng phiên bản PHP nhất định. Bài này hướng dẫn đổi phiên bản PHP cho từng tên miền trong cPanel, và chỉ ra chỗ hay làm hỏng website.

1. Trước khi đổi: xem mã nguồn cần bản nào

Đổi PHP là thao tác có thể làm website trắng trang ngay lập tức nếu chọn bản mã nguồn không chạy được.

Mã nguồn Phiên bản thường dùng
WordPress bản mới PHP 8.1 trở lên
WooCommerce PHP 8.1 trở lên
Laravel 10, 11 PHP 8.1 trở lên
Mã nguồn tự viết nhiều năm trước Thường kẹt ở 7.x, cần thử trước

Nguyên tắc: nâng từng bậc một, đừng nhảy thẳng. Từ 7.4 lên 8.1 trước, chạy ổn vài ngày rồi mới tính 8.2.

2. Đổi PHP cho một tên miền

  1. Đăng nhập cPanel.
  2. Vào nhóm Software, chọn MultiPHP Manager.

Màn hình MultiPHP Manager trong cPanel

  1. Tích vào ô bên trái tên miền cần đổi. Chọn được nhiều tên miền cùng lúc.
  2. Chọn phiên bản ở ô PHP Version bên phải.
  3. Bấm Apply.

Thay đổi có hiệu lực ngay, không cần khởi động lại gì.

3. Đọc màn hình này

Phần Nghĩa
System PHP Version Bản mặc định của máy chủ. Tên miền nào để inherit thì dùng bản này
Inherited ở cột PHP Version Tên miền đó chưa đặt riêng, đang theo bản mặc định của máy chủ
Deprecation warning Phiên bản đó đã hết hỗ trợ, không còn nhận bản vá an ninh
PHP-FPM Chế độ chạy PHP. Bật lên thường nhanh hơn, nhưng tốn bộ nhớ hơn

⚠️ Thấy chữ Inherited thì đừng tưởng là chưa cấu hình gì nên an toàn. Nó nghĩa là website đang chạy đúng bản mặc định của máy chủ, và bản đó có thể đã cũ. Đặt phiên bản riêng cho tên miền là cách chắc chắn.

4. Bật thêm phần mở rộng PHP

MultiPHP Manager chỉ chọn phiên bản. Muốn bật thêm phần mở rộng (imagick, soap, intl…) hoặc sửa memory_limit, upload_max_filesize, dùng mục khác:

  • Select PHP Version trong nhóm Software: bật tắt phần mở rộng theo từng bản PHP.
  • MultiPHP INI Editor: sửa các tham số như memory_limit, max_execution_time, upload_max_filesize.

5. Đổi xong website trắng trang hoặc báo lỗi

Đây là lúc cần bình tĩnh, vì lùi lại rất nhanh.

Việc đầu tiên: quay về phiên bản cũ. Vào lại MultiPHP Manager, chọn bản trước đó, bấm Apply. Website trở lại ngay.

Rồi mới tìm nguyên nhân:

Hiện tượng Nguyên nhân thường gặp
Trắng trang hoàn toàn Mã nguồn dùng cú pháp đã bị gỡ ở bản PHP mới
Báo lỗi gọi hàm không tồn tại Thiếu phần mở rộng PHP. Bật ở Select PHP Version
Chỉ một phần website lỗi Một phần mở rộng (plugin) chưa tương thích. Tắt từng cái để tìm
Lỗi 500 Xem nhật ký lỗi ở Metrics → Errors để biết dòng nào hỏng

Với WordPress, trước khi nâng PHP hãy cập nhật phần lõi và các phần mở rộng lên bản mới nhất. Phần lớn ca lỗi sau khi nâng PHP là do một phần mở rộng cũ.

6. Nên nâng hay cứ để yên

Nên nâng, và đây là lý do:

Lý do Chi tiết
An ninh Bản PHP hết hỗ trợ không còn nhận bản vá. Lỗ hổng công bố ra là website nằm phơi
Tốc độ PHP 8.x nhanh hơn 7.x rõ rệt với cùng một mã nguồn
Tương thích Mã nguồn và phần mở rộng mới dần bỏ hỗ trợ bản PHP cũ

Cách làm an toàn: sao lưu trước, nâng một bậc, chạy thử các chức năng chính (đăng nhập, tìm kiếm, đặt hàng, gửi thư), ổn vài ngày rồi mới tính bậc tiếp theo.

7. Khi cần hỗ trợ

Nhắn qua khung chat ở góc phải màn hình kèm: tên miền, phiên bản PHP đang dùng và phiên bản muốn chuyển sang, và nguyên văn thông báo lỗi nếu website đã lỗi.

Website đang trắng trang thì nói ngay trong tin nhắn đầu tiên, việc đó được xử lý trước.

Hướng dẫn này có ích cho bạn?

Cần đặt dịch vụ? Xem cấu hình và giá tại bảng giá Cloudzone - đặt gói trực tuyến, nhận dịch vụ ngay sau thanh toán. Cần tư vấn, mở khung chat ở góc phải màn hình.

Hướng dẫn liên quan