request_body trong Caddyfile

Để thiết lập giới hạn dung lượng file tối đa được up lên WordPress (hoặc các ứng dụng khác) sử dụng Caddy Web Server.

# Tang gioi han upload, can chinh them /etc/php/8.3/fpm/php.ini cho dong bo
request_body {
    max_size 50MB
}

Ví dụ lệnh trên, yêu cầu Caddy chấp nhận file tải lên có dung lượng lên đến 50MB. Điều này sẽ giúp bạn tránh bị giới hạn khi thao tác với file, theme hoặc plugin up lên WordPress.

Theo mẫu thì MB cần viết hoa và không được cách với giá trị số. Mặc dù các cách viết khác có thể vẫn hoạt động, chẳng hạn như 50mb, bạn nên tuân thủ mẫu để nó chắc chắn không lỗi.

Để điều chỉnh được áp dụng, khởi động lại Caddy:

sudo systemctl reload caddy

Link tham khảo thêm: https://caddyserver.com/docs/caddyfile/directives/request_body

Phía trên là đoạn mã ở phía Caddy, bản thân PHP-FPM cũng có giới hạn mặc định của nó (2MB), nên muốn đồng bộ (qua cả cửa Caddy và cửa PHP-FPM) bạn phải chỉnh thêm ở /etc/php/8.3/fpm/php.ini (thay 8.3 bằng phiên bản PHP thực tế của bạn).

Ví dụ vào WordPress vừa cài mới, bạn vào phần upload media có thể thấy thông tin giới hạn này:

Giới hạn dung lượng tối đa được phép tải lên, mặc định là 2MB
Giới hạn dung lượng tối đa được phép tải lên, mặc định là 2MB

Vào php.ini và sửa thành như dưới đây:

; Dung lượng tối đa của một file được upload
upload_max_filesize = 50M

; Dung lượng tối đa của toàn bộ dữ liệu gửi lên (bao gồm cả file và các trường text khác)
post_max_size = 50M

Cách làm:

  • Vào terminal VPS qua PuTTY (hoặc phần mềm tương tự)
  • Nhập lệnh sau: sudo nano /etc/php/8.3/fpm/php.ini (thay 8.3 bằng phiên bản PHP tương ứng).
  • File php.ini sẽ hiện nội dung, nhấn tổ hợp phím Ctrl + W để tìm nhanh.
  • Copy upload_max_filesize, rồi chuột phải bên terminal để paste vào (trên terminal Ctrl + V không phải để paste), rồi nhấn Enter để tìm, thay giá trị mặc định 2M thành 50M.
  • Tương tự cho việc tìm và sửa post_max_size (mặc định của nó là 8M), bạn cũng chuyển thành 50M.
  • Ctrl + O để lưu file php.ini, rồi Ctrl + X để thoát file.
  • Khởi động lại PHP-FPM để nó áp dụng các thông số mới: sudo service php8.3-fpm restart

Giờ quay ra WordPress, vào phần upload media, bạn sẽ thấy dung lượng tối đa cho phép đã tăng lên 50MB:

Dung lượng file tối đa cho phép tải lên đã tăng lên 50MB
Dung lượng file tối đa cho phép tải lên đã tăng lên 50MB

Vậy là xong.

Ngoài lề: khi triển khai bash script để cài WordPress tự động trên Caddy, cần phải bổ sung lệnh chỉnh php.ini tự động để người dùng đỡ phải chỉnh thủ công.

Viết một bình luận