Bật tắt extension PHP trên DirectAdmin
Hướng dẫn DirectAdmin · cập nhật 28/08/2026
Để bật tắt extension PHP trên DirectAdmin, bạn vào Extra Features, chọn Select PHP version rồi tích hoặc bỏ tích ô của extension cần đổi. Hệ thống tự lưu, có hiệu lực ngay. Mất chưa tới một phút, làm bằng tài khoản user thường.
Việc này cần khi cài plugin hoặc mã nguồn báo thiếu thư viện, ví dụ dòng PHP extension mbstring is required hay Call to undefined function curl_init(). Hosting chỉ bật sẵn nhóm extension thông dụng nên các thư viện ít dùng phải tự bật.
- Đăng nhập DirectAdmin bằng tài khoản user.
- Vào Extra Features rồi chọn Select PHP version.
- Tích ô của extension cần bật, bỏ tích ô của extension muốn tắt.
- Kiểm tra extension đã nạp bằng trang thông tin PHP.
Đã kiểm trên DirectAdmin bản 1.6 có cài PHP Selector của CloudLinux. Máy chủ không dùng CloudLinux thì mục Select PHP version không hiện, phải bật extension bằng CustomBuild ở quyền root.
Extension PHP là gì và vì sao hosting không bật hết
Extension PHP là các thư viện bổ sung hàm cho PHP: curl để gọi API, gd để xử lý ảnh, mbstring để xử lý chuỗi tiếng Việt, zip để nén và giải nén. PHP lõi không có sẵn những hàm đó, thiếu extension thì mọi lời gọi đều báo hàm không tồn tại.
Hosting chỉ bật sẵn nhóm thông dụng vì mỗi extension được nạp đều chiếm thêm bộ nhớ cho từng tiến trình PHP và kéo dài thời gian khởi động. Bật tất cả cho mọi tài khoản làm máy chủ chậm đi mà phần lớn thư viện không ai dùng tới. Vì lý do tương tự, máy chủ còn khoá sẵn một số hàm PHP, xem bài vì sao phải hạn chế thực thi một số hàm PHP. Vì vậy phần còn lại để người dùng tự bật khi cần.
Nên bật extension PHP nào cho WordPress và các mã nguồn phổ biến
Mỗi mã nguồn đòi một nhóm extension riêng, và thường chỉ báo lỗi lúc cài hoặc lúc chạy tính năng cụ thể. Bảng dưới đây gom các thư viện hay bị thiếu nhất kèm dấu hiệu nhận ra, để bật đúng cái cần thay vì tích tất.
| Extension | Dùng cho việc gì | Thiếu thì gặp lỗi gì |
|---|---|---|
| mbstring | Xử lý chuỗi nhiều byte, gồm tiếng Việt có dấu | Chữ có dấu bị cắt sai, WordPress báo thiếu khi cài |
| curl | Gọi API, kết nối cổng thanh toán, cập nhật plugin | Call to undefined function curl_init() |
| gd | Tạo ảnh thu nhỏ, đóng dấu chìm lên ảnh | Ảnh tải lên không sinh được thumbnail |
| zip | Cài plugin và theme từ file nén | Không giải nén được, cài plugin thất bại |
| intl | Định dạng ngày giờ, tiền tệ theo vùng | Laravel và các mã nguồn thương mại điện tử báo thiếu |
| imagick | Xử lý ảnh chất lượng cao hơn gd, đọc file PDF | Ảnh nén ra bị vỡ, không đọc được định dạng lạ |
| soap | Kết nối dịch vụ web kiểu SOAP, phần mềm hoá đơn điện tử | Class SoapClient not found |
| bcmath | Tính toán số lớn, hay dùng trong module thanh toán | Sai số khi tính tiền, plugin báo thiếu |
Nguyên tắc chung: chỉ bật thứ mã nguồn báo thiếu. Tích hết mọi ô làm website chậm đi mà không thêm được tính năng nào.
Cách bật tắt extension PHP trên DirectAdmin
Ba bước dưới đây làm trên giao diện DirectAdmin bằng tài khoản user thường. Thay đổi có hiệu lực ngay sau khi tích, không cần khởi động lại gì, nhưng website sẽ nhận cấu hình mới ở lượt truy cập kế tiếp.
1. Mở mục Select PHP version
Đăng nhập DirectAdmin, kéo tới khối Extra Features rồi chọn Select PHP version.

2. Xem danh sách extension hiện có
Màn hình PHP Selector mở ra ở thẻ Extensions, liệt kê toàn bộ thư viện xếp theo thứ tự chữ cái. Ô đã tích là extension đang bật.

Kiểm tra dòng Current PHP version trước khi tích bất cứ ô nào. Danh sách extension thuộc riêng bản PHP đang chọn, đổi bản PHP thì phải tích lại từ đầu.
3. Tích hoặc bỏ tích extension
Tích vào ô của extension muốn bật. Hệ thống tự lưu ngay khi tích, không có nút Save riêng để bấm. Muốn tắt thì bỏ tích cùng ô đó.

Ví dụ cần bật intl cho một mã nguồn Laravel, tích đúng ô đó rồi tải lại trang web để xem lỗi đã hết chưa. Đổi nhiều extension một lúc thì tích lần lượt từng cái, mỗi lần tích là một lần lưu.
Cách xác nhận extension đã nạp
Giao diện hiện ô đã tích không có nghĩa PHP đã nạp thư viện. Cách chắc chắn là hỏi thẳng PHP xem nó đang chạy với những extension nào, qua một file kiểm tra đặt trong thư mục website.
Tạo file info.php trong public_html với nội dung:
<?php phpinfo();
Mở https://tenmien.com/info.php rồi tìm tên extension trên trang bằng phím tắt tìm kiếm của trình duyệt. Thấy một khối riêng mang tên extension đó nghĩa là đã nạp. Xoá file này ngay sau khi kiểm tra xong, vì nó phơi bày đường dẫn và cấu hình máy chủ cho bất kỳ ai mở được.
Có quyền SSH thì nhanh hơn, không cần tạo file:
php -m | grep intl
Lệnh in ra tên extension nghĩa là đã nạp, không in gì nghĩa là chưa.
Xử lý các lỗi thường gặp khi bật extension
Bốn tình huống dưới đây hay gặp nhất. Mỗi tình huống có dấu hiệu riêng nên đối chiếu triệu chứng là biết rơi vào ca nào.
Không thấy mục Select PHP version. Máy chủ không cài PHP Selector của CloudLinux. Lúc này người dùng không tự bật được, phải nhờ quản trị máy chủ bật qua CustomBuild ở quyền root. Gửi yêu cầu hỗ trợ từ tài khoản đang dùng dịch vụ để kỹ thuật BizMaC bật giúp.
Đã tích nhưng website vẫn báo thiếu extension. Website đang chạy trên bản PHP khác bản vừa chỉnh. Đối chiếu dòng Current PHP version với bản PHP mà tên miền đang dùng, hai bên phải trùng nhau.
Không tìm thấy extension cần bật trong danh sách. Thư viện đó chưa được biên dịch sẵn trên máy chủ. Trường hợp mcrypt cho PHP 7.2 phải cài tay qua PECL, xem bài cài đặt mcrypt cho PHP 7.2 trên DirectAdmin.
Website báo lỗi 500 sau khi bật. Hai extension xung đột nhau, hay gặp giữa các bộ tăng tốc mã như ioncube và một trình biên dịch khác. Bỏ tích cái vừa bật là website chạy lại, rồi bật lần lượt từng cái để tìm ra cặp gây lỗi.
Điều cần nhớ khi đổi bản PHP về sau
Danh sách extension gắn với từng bản PHP. Đổi từ PHP 7.4 sang 8.1 là chuyển sang một danh sách trắng khác, mọi ô đã tích trước đó không theo sang.
Nên chụp màn hình danh sách đang tích trước khi đổi bản PHP, để tích lại cho đúng sau đó. Đồng thời có vài extension không còn tồn tại ở bản mới, ví dụ mcrypt bị gỡ từ PHP 7.2. Mã nguồn còn gọi các hàm đó phải sửa trước khi nâng bản PHP, không thì đổi xong là website chết.