Trên DirectAdmin, việc nâng cấp PHP làm theo hai đường khác nhau: chủ website dùng hosting chỉ chọn phiên bản đã có sẵn cho từng tên miền, còn người quản trị VPS mới cài thêm phiên bản bằng CustomBuild. Làm đúng đường của mình và có sẵn bản cũ để lùi lại là hai điều quyết định website có bị lỗi hay không.
Nâng cấp PHP trên DirectAdmin: tài khoản hosting vào Domain Setup, chọn tên miền, bấm PHP Version Selector và chọn bản mới; quản trị VPS dùng CustomBuild cài bản mới chạy song song (php2_release), chuyển từng website, kiểm tra rồi mới đổi bản mặc định. Tháng 10/2026, WordPress khuyến nghị PHP 8.3 trở lên; luôn backup trước và ghi lại bản cũ.
Bạn đang đứng ở cấp nào trong DirectAdmin?
Câu hỏi này quyết định bạn làm được gì. Nhiều hướng dẫn trên mạng đưa lệnh SSH cho người chỉ thuê hosting, trong khi họ không có quyền root để chạy.
| Tình huống | Bạn làm được gì | Nơi thao tác |
|---|---|---|
| Thuê hosting dùng chung chạy DirectAdmin | Chọn một trong các phiên bản PHP nhà cung cấp đã cài, cho từng tên miền | Domain Setup → PHP Version Selector |
| Hosting có CloudLinux | Chọn phiên bản và bật, tắt từng extension | Mục Select PHP Version (PHP Selector của CloudLinux) |
| Tự quản trị VPS, có quyền root | Cài thêm, gỡ, đổi phiên bản mặc định, chọn chế độ chạy PHP | CustomBuild qua SSH (lệnh da build) hoặc giao diện cấp Admin |
Nếu hosting không có bản PHP bạn cần, cách đúng là gửi yêu cầu cho nhà cung cấp hoặc chuyển sang gói có bản đó, không phải tự tìm cách cài.
Nên nâng lên PHP bản nào (tháng 10/2026)?
WordPress.org khuyến nghị PHP 8.3 trở lên. Mốc hỗ trợ của các nhánh còn đang dùng nhiều:
| Nhánh PHP | Hết vá bảo mật | Nhận xét khi chọn |
|---|---|---|
| 8.1 trở xuống | Đã hết (8.1 hết ngày 31/12/2025) | Cần chuyển ngay |
| 8.2 | 31/12/2026 | Chỉ là bước trung gian, còn chưa đầy 3 tháng |
| 8.3 | 31/12/2027 | Lựa chọn an toàn cho website có nhiều plugin cũ |
| 8.4 | 31/12/2028 | Nên chọn nếu mọi plugin, theme đã ghi hỗ trợ |
| 8.5 | 31/12/2029 | Mới nhất; chỉ dùng khi đã thử kỹ trên bản sao |
Nguyên tắc chọn: lấy nhánh mới nhất mà tất cả plugin và theme đang dùng đều tương thích. Lịch hỗ trợ đầy đủ và lý do PHP 8 làm hỏng code cũ có trong trang nâng cấp WordPress và PHP.
Kiểm tra gì trước khi bấm đổi?
- Phiên bản hiện tại: trong WordPress, vào Công cụ → Tình trạng trang web → Thông tin → Máy chủ. Mục này ghi phiên bản PHP, giới hạn bộ nhớ và các extension đang bật. Chụp lại màn hình này.
- Cập nhật plugin, theme trước: bản mới thường đã sửa lỗi tương thích. Plugin nào ghi “Requires PHP” cao hơn bản hiện tại thì càng phải đổi PHP mới cập nhật được.
- Plugin bị bỏ rơi: plugin không cập nhật nhiều năm, plugin viết riêng, theme bị sửa trực tiếp trong file là nhóm hay gây lỗi nhất.
- Plugin mã hóa ionCube: một số plugin, script bản quyền cần ionCube Loader đúng với phiên bản PHP mới. Hỏi nhà cung cấp hosting trước.
- Backup file và database, lưu một bản ra ngoài hosting. Cách sao lưu và khôi phục thử có trong bài backup website định kỳ.
- Chọn giờ ít khách: website bán hàng nên tránh giờ đang có đơn.
Công cụ quét mã tự động chỉ bắt được một phần lỗi tương thích, vì nhiều lỗi chỉ xuất hiện khi chạy thật. Với website quan trọng, thử trên bản sao (staging) vẫn là cách đáng tin hơn cả.

Cách 1: đổi phiên bản PHP cho từng tên miền (tài khoản hosting)
- Đăng nhập DirectAdmin bằng tài khoản người dùng.
- Vào Account Manager → Domain Setup, bấm vào tên miền cần đổi.
- Bấm PHP Version Selector (giao diện mới đặt ở góc trên bên phải trang Domain Setup), chọn phiên bản trong danh sách rồi lưu.
- Mở website ở cửa sổ ẩn danh, kiểm tra lại mục Tình trạng trang web để chắc WordPress đã nhận phiên bản mới.
Hosting dùng CloudLinux thường không có PHP Version Selector mà có mục Select PHP Version. Ở đó bạn chọn phiên bản và đánh dấu extension cần thiết như mysqli, curl, gd hoặc imagick, intl, zip, mbstring. Lưu ý: khi đổi phiên bản trong PHP Selector, các tùy chọn như memory_limit, upload_max_filesize có thể trở về mặc định, nên đối chiếu với ảnh chụp ở bước kiểm tra.
Không thấy cả hai mục trên nghĩa là nhà cung cấp chưa bật tính năng chọn phiên bản, hoặc máy chủ chỉ cài một bản PHP. Khi đó chỉ nhà cung cấp mới đổi được.
Cách 2: quản trị VPS — cài phiên bản mới bằng CustomBuild
DirectAdmin cho phép chạy nhiều phiên bản PHP song song (php1_release, php2_release…). Bản ở vị trí php1 là mặc định cho mọi website. Cách ít rủi ro là cài bản mới vào vị trí phụ, chuyển từng website sang, rồi mới đổi bản mặc định.
- SSH vào máy chủ bằng quyền root, cập nhật CustomBuild:
da build update. Lệnhda build versionscho xem phiên bản đang cài và bản có thể cập nhật. (Máy chủ cũ dùng cú pháp./buildtrong thư mục/usr/local/directadmin/custombuild, chức năng tương tự.) - Thêm bản mới vào vị trí phụ, ví dụ:
da build set php2_release 8.3. - Kiểm tra chế độ chạy:
da build set php2_mode php-fpmlà lựa chọn thông dụng; máy chủ CloudLinux dùng LSPHP theo khuyến nghị của DirectAdmin. - Biên dịch và ghi lại cấu hình:
da build phprồida build rewrite_confs. Thời gian biên dịch tùy cấu hình máy chủ và số extension. - Bật quyền chọn phiên bản cho người dùng nếu chưa có:
da config-get php_version_selector; nếu trả về 0 thìda config-set php_version_selector 1và khởi động lại DirectAdmin. - Chuyển từng website sang bản mới qua Domain Setup như Cách 1, kiểm tra từng site.
- Khi mọi website đã ổn, mới cân nhắc đưa bản mới lên php1. Giữ bản cũ thêm vài ngày làm đường lùi.
Extension đi kèm (imagick, ionCube…) được bật riêng trong CustomBuild rồi biên dịch lại; tên lệnh cụ thể nên đối chiếu tài liệu DirectAdmin của phiên bản đang chạy. Tránh đóng phiên SSH giữa lúc biên dịch.

Sau khi đổi: kiểm tra trong 30 phút đầu
- Trang chủ, một bài viết, một trang dịch vụ hiển thị đúng trên máy tính và điện thoại.
- Đăng nhập trang quản trị, mở trình soạn thảo, lưu thử một bản nháp.
- Gửi thử form liên hệ và kiểm tra email có về.
- Website bán hàng: thêm vào giỏ, đi tới bước thanh toán.
- Xóa cache của plugin cache và CDN, rồi kiểm tra lại.
- Mở nhật ký lỗi (error_log của tên miền hoặc debug.log của WordPress) sau vài giờ, khi cron và khách thật đã chạy qua các chức năng.
Lỗi thường gặp sau khi nâng PHP và cách xử lý
| Triệu chứng | Nguyên nhân hay gặp | Xử lý |
|---|---|---|
| “Trang web đang gặp sự cố nghiêm trọng” hoặc trắng trang | Plugin, theme gọi hàm đã bị bỏ trong PHP 8 | Mở email chế độ khôi phục WordPress gửi cho quản trị viên để vào trang quản trị và tắt plugin lỗi; hoặc đổi PHP về bản cũ trước rồi điều tra |
| Không tải được ảnh, lỗi tạo ảnh thu nhỏ | Thiếu extension gd hoặc imagick ở bản mới | Bật extension trong PHP Selector hoặc biên dịch lại trên VPS |
| Lỗi 502, 503 sau khi biên dịch | Cấu hình máy chủ web chưa trỏ đúng tiến trình PHP-FPM mới | Chạy lại da build rewrite_confs; xem thêm bài lỗi 502 Bad Gateway |
| Plugin báo lỗi ionCube | Chưa có ionCube Loader cho bản PHP mới | Cài loader tương ứng hoặc hỏi nhà cung cấp hosting |
| Upload file lớn bị chặn | Giới hạn upload, memory_limit trở về mặc định | Đặt lại theo ảnh chụp trước khi đổi |
Khi cần xem lỗi, bật ghi nhật ký thay vì hiện lỗi ra màn hình: trong wp-config.php đặt WP_DEBUG và WP_DEBUG_LOG là true, WP_DEBUG_DISPLAY là false. Xong việc thì tắt lại.

Lùi về bản cũ khi website lỗi
Đổi phiên bản PHP không thay đổi database, nên lùi lại chỉ mất vài phút: tài khoản hosting chọn lại bản cũ trong PHP Version Selector hoặc Select PHP Version; quản trị VPS chuyển tên miền về bản cũ còn đang cài song song. Đó là lý do không nên gỡ bản cũ ngay.
Rủi ro thật nằm ở chỗ khác: nếu trong lúc chạy bản mới bạn đã cập nhật plugin có nâng cấp dữ liệu, lùi PHP không đưa dữ liệu về như cũ. Khi đó cần bản backup chụp ngay trước khi làm. Lùi xong, hãy tìm plugin gây lỗi, cập nhật hoặc thay thế rồi thử lại.
Website không có người kỹ thuật theo dõi có thể dùng dịch vụ bảo trì WordPress từ 900.000đ/tháng để việc cập nhật PHP, plugin và backup được làm định kỳ. Website đã nhiều năm không nâng cấp, nhiều plugin bị bỏ rơi thì nên được kiểm tra và báo giá theo hiện trạng qua trang nâng cấp WordPress. Các bước cập nhật hằng tháng cho WordPress, plugin, theme có trong bài cập nhật WordPress an toàn.
Nguồn tra cứu tháng 10/2026: tài liệu DirectAdmin (docs.directadmin.com, mục PHP và Multiple PHP versions); php.net/supported-versions.php; wordpress.org/about/requirements.
Câu hỏi thường gặp
Không thấy mục PHP Version Selector trong DirectAdmin thì làm sao?
Nghĩa là máy chủ chưa bật tính năng chọn phiên bản hoặc chỉ cài một bản PHP. Nếu hosting dùng CloudLinux, hãy tìm mục Select PHP Version. Không có cả hai thì gửi yêu cầu cho nhà cung cấp hosting, vì chỉ họ có quyền cài thêm phiên bản.
Đổi PHP cho một tên miền có ảnh hưởng website khác cùng hosting không?
Không, khi đổi qua Domain Setup thì chỉ tên miền đó đổi. Ngược lại, quản trị VPS đổi bản ở vị trí php1 sẽ ảnh hưởng mọi website đang dùng bản mặc định, nên cần chuyển từng site trước.
Nên chạy PHP-FPM hay LSPHP trên DirectAdmin?
Máy chủ dùng Apache hoặc Nginx thường chọn PHP-FPM. Máy chủ có CloudLinux hoặc LiteSpeed nên dùng LSPHP, đây cũng là khuyến nghị trong tài liệu DirectAdmin. Đổi chế độ chạy là thay đổi cấp máy chủ, nên làm vào giờ ít truy cập.
Đã đổi PHP nhưng WordPress vẫn báo phiên bản cũ là vì sao?
Thường do đổi nhầm tên miền phụ, trình duyệt hoặc plugin đang hiện bản lưu cache, hoặc file .htaccess còn dòng ép bộ xử lý PHP cũ từ hosting trước. Xóa cache, kiểm tra lại đúng tên miền và tìm các dòng AddHandler hoặc SetHandler lạ trong .htaccess.
Có nên lên thẳng PHP 8.5 cho website đang chạy PHP 7.4 không?
Không nên nhảy thẳng trên website thật. Hãy cập nhật plugin, theme trước, thử bản đích trên bản sao, và nếu nhiều plugin chưa ghi hỗ trợ 8.5 thì dừng ở 8.3 hoặc 8.4. Khoảng cách phiên bản càng xa, số lỗi cần sửa càng nhiều.
Cần người làm giúp phần này?
Mô tả ngắn nhu cầu hoặc gửi link website. Chúng tôi phản hồi bằng đánh giá cụ thể trước khi báo giá.
