Tiếng Việt
PHP
FlashPanel cho phép cài nhiều phiên bản PHP trên cùng một máy chủ, đổi phiên bản mặc định, thiết lập kích thước tải lên và thời gian thực thi, bật/tắt OPcache và chỉnh php.ini ngay trên giao diện.
Cài PHP thủ công
FlashPanel chỉ quản lý các phiên bản PHP được cài qua FlashPanel. Phiên bản bạn tự cài bằng dòng lệnh sẽ không xuất hiện trong bảng điều khiển.
Nhiều phiên bản PHP
Khi tạo máy chủ, phiên bản PHP bạn chọn trở thành phiên bản mặc định: được chọn sẵn khi tạo website mới và được dùng cho lệnh php trong terminal (PHP CLI).
Sau đó, bạn có thể cài thêm các phiên bản khác. Mỗi website chọn phiên bản PHP riêng, nên các website trên cùng máy chủ có thể chạy những phiên bản khác nhau.
Cài đặt
- Mở trang Ứng dụng của máy chủ, chọn tab
Chưa cài đặt. - Gõ
phpvào ô tìm kiếm, bấm nútCài đặt(biểu tượng tải xuống) ở phiên bản cần cài và xác nhận.
Sau khi cài xong, phiên bản mới xuất hiện trong menu PHP của máy chủ (ví dụ PHP > PHP 8.3) và có thể chọn khi tạo website hoặc đổi phiên bản PHP của website.
Trong trang Ứng dụng, mỗi dòng PHP còn có các nút: Cấu hình (mở thư mục cấu hình), Nhật ký, Tiện ích mở rộng PHP (biểu tượng mảnh ghép, để cài extension), Khởi động, Khởi động lại, Dừng và Gỡ cài đặt.
Gỡ cài đặt
Bấm nút Gỡ cài đặt (biểu tượng thùng rác) của phiên bản PHP trong tab Đã cài đặt của trang Ứng dụng, rồi xác nhận.
Kiểm tra trước khi gỡ
FlashPanel không chặn việc gỡ một phiên bản PHP đang được sử dụng. Trước khi gỡ, hãy tự đảm bảo:
- Không còn website nào dùng phiên bản này. Đổi các website đó sang phiên bản khác trước.
- Phiên bản này không phải Phiên bản mặc định PHP của máy chủ. Nếu đúng, chuyển phiên bản mặc định sang phiên bản khác trước (xem bên dưới).
- Không có script, cron job hoặc daemon nào gọi trực tiếp phiên bản này (ví dụ
php8.1 artisan ...).
Website còn dùng phiên bản đã gỡ sẽ không chạy được PHP.
Quản lý & cấu hình PHP
Chọn PHP > phiên bản cần cấu hình trong menu máy chủ. Đầu trang có trạng thái dịch vụ và các nút quản lý (khởi động lại, nhật ký...). Bên dưới là các thẻ chức năng, bấm vào thẻ để mở.
WARNING
Các cài đặt chỉ áp dụng cho phiên bản PHP đang mở, trừ Phiên bản mặc định PHP là cài đặt chung của cả máy chủ. Máy chủ dùng OpenLiteSpeed quản lý PHP theo cách riêng, xem OpenLiteSpeed.
ionCube Loader
ionCube Loader là extension dùng để chạy các tệp PHP được mã hóa bằng ionCube (thường gặp ở mã nguồn thương mại).
Bấm thẻ ionCube Loader để xem trạng thái, rồi bấm Cài đặt hoặc Gỡ cài đặt và xác nhận. Nếu nút hiển thị Không được hỗ trợ, ionCube chưa có bản cho phiên bản PHP này.
Chuyển đổi phiên bản PHP mặc định
- Bấm thẻ Phiên bản mặc định PHP.
- Chọn phiên bản muốn dùng làm mặc định.
- Bấm Cập nhật.
Phiên bản mặc định được chọn sẵn khi tạo website mới và được dùng cho lệnh php trong terminal. Các website hiện có vẫn giữ nguyên phiên bản đang dùng.
Kích thước tải lên tệp tối đa
Bấm thẻ Kích thước tải lên tệp tối đa, nhập giá trị theo đơn vị megabyte (1024 = 1GB) rồi bấm Cập nhật.
Giá trị này áp dụng cho upload_max_filesize và post_max_size của phiên bản PHP đang mở. Giới hạn kích thước request của Nginx cũng được nâng tương ứng, nên bạn không cần sửa cấu hình Nginx.
Thời gian thực thi tối đa
Bấm thẻ Thời gian thực thi tối đa, nhập số giây rồi bấm Cập nhật.
Giá trị này áp dụng cho max_execution_time của phiên bản PHP đang mở. Thời gian chờ PHP của Nginx cũng được cập nhật tương ứng.
OPcache
OPcache lưu sẵn mã PHP đã biên dịch trong bộ nhớ, giúp website chạy nhanh hơn đáng kể.
- Bấm thẻ OPCache. Biểu tượng trên thẻ cho biết OPcache đang bật hay tắt.
- Bấm Kích hoạt để bật hoặc Vô hiệu hóa để tắt. PHP-FPM được khởi động lại tự động.
Khi bật OPcache cho website đang triển khai code
Sau mỗi lần cập nhật code, OPcache có thể vẫn dùng bản cũ. Hãy thêm lệnh tải lại PHP-FPM vào cuối kịch bản triển khai.
Các thông số OPcache chi tiết (bộ nhớ, số tệp tối đa...) được chỉnh ở phần Cập nhật cấu hình PHP.ini.
Cập nhật cấu hình PHP.ini
Bạn có thể chỉnh các thông số php.ini thường dùng ngay trên giao diện, không cần SSH.
- Chọn PHP > phiên bản PHP trong menu máy chủ.
- Chọn tab:
- PHP FPM INI: cấu hình PHP khi chạy website.
- PHP CLI INI: cấu hình PHP khi chạy lệnh trong terminal, cron job, daemon.
- Bấm Khuyến nghị để điền sẵn các giá trị khuyến nghị, hoặc tự chỉnh từng tùy chọn. Mỗi tùy chọn có mô tả ngắn ngay trên giao diện.
- Bấm Cập nhật để lưu. Cấu hình mới được áp dụng tự động.
Các tùy chọn có thể chỉnh:
| Tùy chọn | Ý nghĩa |
|---|---|
memory_limit | Bộ nhớ RAM tối đa một script được dùng |
max_execution_time | Thời gian chạy tối đa (giây) của một script |
max_input_time | Thời gian tối đa (giây) để xử lý dữ liệu đầu vào (POST, GET) |
max_input_vars | Số biến đầu vào tối đa trong mỗi request |
upload_max_filesize | Kích thước tối đa (MB) của tệp tải lên |
post_max_size | Kích thước tối đa dữ liệu POST |
display_errors | Hiển thị lỗi PHP trên trình duyệt (nên tắt trên website thật) |
error_reporting | Mức độ lỗi được báo |
date.timezone | Múi giờ mặc định của PHP |
session.gc_maxlifetime | Thời gian (giây) session không hoạt động trước khi bị xóa |
disable_functions | Các hàm PHP bị vô hiệu hóa vì lý do bảo mật |
opcache.enable | Bật OPcache |
opcache.memory_consumption | Bộ nhớ dành cho OPcache |
opcache.interned_strings_buffer | Bộ nhớ lưu chuỗi dùng chung |
opcache.max_accelerated_files | Số tệp PHP tối đa được OPcache lưu |
opcache.validate_timestamps | Tự kiểm tra code thay đổi để làm mới cache |
opcache.save_comments | Giữ comment trong cache (một số framework cần) |
Các nút khác:
- Làm mới: tải lại giá trị đang áp dụng trên máy chủ.
- php.ini: xem toàn bộ nội dung tệp cấu hình.
Nâng cao
Cơ chế PHP-FPM pool theo người dùng
Mỗi người dùng hệ thống có một PHP-FPM pool riêng cho từng phiên bản PHP, chạy bằng quyền của chính người dùng đó. Nhờ vậy website của người dùng này không đọc được tệp của người dùng khác, và lỗi ở một pool không ảnh hưởng pool khác. Ví dụ: 2 người dùng × 2 phiên bản PHP = 4 pool.
Tên pool và socket (thay 8.3 bằng phiên bản PHP):
| Người dùng | Tệp pool | Socket |
|---|---|---|
flashpanel (mặc định) | /etc/php/8.3/fpm/pool.d/www.conf | /run/php/php8.3-fpm.sock |
Người dùng khác, ví dụ abc | /etc/php/8.3/fpm/pool.d/www-abc.conf | /run/php/php8.3-fpm-abc.sock |
Bạn cần tên socket khi tự viết cấu hình web server, ví dụ dùng phiên bản PHP khác cho thư mục con.
Cài PHPRedis với igbinary, zstd và lz4
WARNING
Không áp dụng cho máy chủ dùng OpenLiteSpeed.
Nếu nhiều website (nhất là WordPress, WooCommerce) dùng chung một Redis, bật nén giúp tiết kiệm bộ nhớ Redis. Ví dụ với PHP 8.3 (cũng là phiên bản PHP CLI mặc định):
Trong trang Ứng dụng >
Đã cài đặt, bấmTiện ích mở rộng PHP(biểu tượng mảnh ghép) ở dòng PHP 8.3 và cài các extensionphp8.3-redis,php8.3-igbinary,php8.3-lz4.Mở terminal của máy chủ với quyền root và chạy:
bashapt update && apt install -y liblz4-dev libzstd-dev pecl uninstall redis pecl install --configureoptions 'enable-redis-igbinary="yes" enable-redis-zstd="yes" enable-redis-lz4="yes"' redisCó thể bỏ qua lỗi liên quan tới
php_ininếu xuất hiện.Kiểm tra bằng lệnh
php -ri redis. Cài thành công khi kết quả có các dòng:Available serializers => php, json, igbinary Available compression => zstd, lz4Khởi động lại PHP 8.3 trong trang Ứng dụng.
Không cài được PHP trên Ubuntu 20.04
Cài một phiên bản PHP trên máy chủ Ubuntu 20.04 thất bại với lỗi Unable to locate package php8.3 hoặc thông báo Failed to install PHP 8.3 on Ubuntu 20.04 (focal).
Ubuntu 20.04 đã hết thời gian hỗ trợ tiêu chuẩn từ tháng 5/2025, và kho PHP mà FlashPanel dùng để cài (ppa:ondrej/php) không còn phát hành gói cho phiên bản này. Các phiên bản PHP đã cài vẫn chạy nhưng không còn được cập nhật, và bạn không cài thêm được phiên bản mới. Chỉ PHP 7.4 vẫn cài được vì nằm trong kho mặc định của Ubuntu.
- Khuyến nghị: tạo máy chủ mới chạy Ubuntu 22.04 trở lên, rồi chuyển website sang bằng Sao chép trang web.
- Không dựng máy chủ mới bằng Ubuntu 20.04.