Cách khắc phục lỗi "upload_max_filesize" trong WordPress

intermediate📝 WordPress2026-04-02| WordPress (mọi phiên bản), PHP 7.4+, Web Server Apache hoặc Nginx

Error Message

The uploaded file exceeds the upload_max_filesize directive in php.ini
#wordpress#php.ini#upload_max_filesize#server-config#devops

Vấn đềBạn đã sẵn sàng để tải lên một theme mới hoặc một hình ảnh hero độ phân giải cao dung lượng 15MB, nhưng WordPress lại chặn đứng bạn. Một thanh thông báo màu đỏ xuất hiện: The uploaded file exceeds the upload_max_filesize directive in php.ini. Đây không phải là lỗi của WordPress. Đây là một giới hạn bảo mật được thiết lập trong cấu hình PHP của máy chủ để ngăn chặn các tệp tin quá lớn làm quá tải bộ nhớ lưu trữ của bạn.

Nhiều nhà cung cấp hosting thiết lập giới hạn mặc định chỉ 2MB hoặc 8MB. Vì các trình dựng trang hiện đại như Elementor hoặc các plugin nặng thường vượt quá 20MB, bạn có thể sẽ gặp phải giới hạn này sớm hay muộn.

Kiểm tra giới hạn hiện tại của bạnTrước khi bắt đầu can thiệp vào mã nguồn, hãy xem chính xác máy chủ của bạn cho phép điều gì. Đi tới mục Media > Add New (Thư viện > Thêm mới) trong bảng điều khiển WordPress. Ngay bên dưới hộp tải lên, hãy tìm dòng chữ: "Maximum upload file size: X MB" (Dung lượng tập tin tải lên tối đa: X MB).

Nếu bạn thích sử dụng dòng lệnh, hãy xác nhận giới hạn bằng cách chạy lệnh sau:

php -i | grep upload_max_filesize

Ngoài ra, bạn có thể tạo một tệp tên là info.php trong thư mục gốc của WordPress với nội dung <?php phpinfo(); ?>. Mở yourdomain.com/info.php trong trình duyệt và tìm kiếm upload_max_filesizepost_max_size. Hai giá trị này cần phải được điều chỉnh cùng nhau để khắc phục lỗi.

Cách tăng giới hạn### 1. Chỉnh sửa tệp php.iniĐây là cách khắc phục sạch nhất nếu bạn quản lý VPS riêng hoặc sử dụng thiết lập cục bộ như XAMPP. Bạn cần tìm tệp php.ini đang hoạt động. Trên một máy chủ Ubuntu tiêu chuẩn chạy PHP 8.2, tệp này thường được tìm thấy tại /etc/php/8.2/fpm/php.ini.

Tìm các dòng cụ thể sau và tăng các con số lên. Ví dụ, để cho phép tệp 64MB, hãy sử dụng:

upload_max_filesize = 64M
post_max_size = 70M
memory_limit = 128M

Mẹo nhỏ: Luôn đặt post_max_size lớn hơn một chút so với upload_max_filesize. Kích thước "post" bao gồm tệp tin cộng với bất kỳ dữ liệu biểu mẫu nào khác được gửi trong yêu cầu. Sau khi lưu, hãy khởi động lại các dịch vụ để áp dụng thay đổi:

# Dành cho Apache
sudo systemctl restart apache2

# Dành cho Nginx/PHP-FPM
sudo systemctl restart php8.2-fpm

2. Sử dụng tệp .htaccess (Apache)Nếu bạn đang sử dụng shared hosting và không thể truy cập cấu hình PHP chính, tệp .htaccess trong thư mục gốc WordPress là lựa chọn tốt nhất. Thêm các dòng sau vào cuối tệp:

php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value memory_limit 128M
php_value max_execution_time 300

Hãy cẩn thận: nếu host của bạn sử dụng FastCGI, điều này có thể gây ra lỗi "500 Internal Server Error". Nếu trang web bị lỗi, chỉ cần xóa các dòng đó để khôi phục truy cập.

3. Cập nhật cấu hình NginxNgay cả khi bạn đã sửa lỗi trong PHP, Nginx vẫn có thể chặn yêu cầu với lỗi "413 Request Entity Too Large". Bạn phải yêu cầu Nginx cho phép tải lên lớn hơn bằng cách chỉnh sửa tệp cấu hình trang web của bạn (tìm thấy trong /etc/nginx/sites-available/):

server {
    ...
    client_max_body_size 64M;
    ...
}

Tải lại Nginx bằng lệnh sudo nginx -s reload để hoàn tất công việc.

4. Phương pháp dùng wp-config.phpĐây là nỗ lực cuối cùng. Nó hiếm khi hoạt động trên các host hiện đại và bảo mật vì upload_max_filesize là cài đặt cấp hệ thống, nhưng nó đáng để thử nếu bạn không còn lựa chọn nào khác. Thêm dòng này vào trước dòng "That's all, stop editing":

@ini_set( 'upload_max_filesize' , '64M' );
@ini_set( 'post_max_size', '64M');

Tóm tắt các phương pháp tốt nhất- Chuỗi quản lý: Tệp tải lên của bạn phải đi qua ba cổng: Nginx/Apache, sau đó là PHP, và cuối cùng là WordPress. Nếu bất kỳ cổng nào quá nhỏ, việc tải lên sẽ thất bại.- Khởi động lại mọi thứ: Các cài đặt PHP không có hiệu lực ngay lập tức. Nếu bạn không khởi động lại PHP-FPM hoặc Apache, máy chủ sẽ tiếp tục sử dụng giới hạn 2MB cũ.- Liên hệ bộ phận hỗ trợ: Một số nhà cung cấp managed host khóa các cài đặt này. Nếu bạn đã thử các bước trên mà giới hạn trong Media > Add New vẫn không đổi, hãy yêu cầu nhà cung cấp host tăng giới hạn cho bạn.

Related Error Notes