Lỗi “upload failed to write file to disk” trong WordPress là một trong những sự cố phổ biến và gây khó chịu nhất mà người dùng có thể gặp phải. Khi thông báo này xuất hiện, bạn sẽ không thể tải lên bất kỳ tệp tin nào, từ hình ảnh cho bài viết, video, đến các plugin và theme mới. Điều này không chỉ làm gián đoạn quy trình làm việc mà còn ảnh hưởng trực tiếp đến khả năng cập nhật và phát triển nội dung cho website của bạn. Nguyên nhân chính thường xuất phát từ việc cấu hình sai quyền truy cập thư mục trên máy chủ hoặc do thư mục tạm thời đã đầy. Bài viết này sẽ hướng dẫn bạn chi tiết, từng bước một, cách xác định nguyên nhân và khắc phục triệt để lỗi này, giúp website của bạn hoạt động trở lại bình thường.
Nguyên nhân gây lỗi “upload failed to write file to disk” trong WordPress
Để giải quyết vấn đề một cách hiệu quả, điều quan trọng là phải hiểu rõ nguồn gốc của nó. Lỗi “upload failed to write file to disk” thường xuất phát từ hai nguyên nhân chính liên quan đến cấu hình máy chủ và quyền truy cập hệ thống tệp tin của WordPress.
Thư mục tạm (temp folder) đầy dung lượng
Khi bạn tải một tệp tin lên WordPress, hệ thống không ghi trực tiếp tệp đó vào thư mục wp-content/uploads. Thay vào đó, tệp sẽ được tải lên một thư mục tạm thời (temporary folder) trên máy chủ trước. Sau khi quá trình tải lên hoàn tất, WordPress mới di chuyển tệp từ thư mục tạm đến vị trí lưu trữ cuối cùng.

Thư mục tạm này đóng vai trò như một khu vực trung chuyển an toàn. Tuy nhiên, nếu thư mục này đầy dung lượng hoặc máy chủ không thể ghi thêm vào đó, quá trình tải lên sẽ thất bại ngay từ bước đầu tiên. Điều này dẫn đến thông báo lỗi “upload failed to write file to disk” vì WordPress không có nơi để tạm lưu trữ tệp tin. Tham khảo thêm về Cách sử dụng WordPress để hiểu rõ hơn quy trình xử lý tệp và lỗi thường gặp liên quan.
Quyền truy cập thư mục không đúng
Một nguyên nhân phổ biến khác là do quyền truy cập (permissions) của các thư mục trên máy chủ được thiết lập không chính xác. Mọi tệp và thư mục trên máy chủ web đều có một bộ quyền quy định ai có thể đọc, ghi (sửa đổi), và thực thi chúng. Để WordPress có thể tải tệp lên, máy chủ web cần có quyền “ghi” vào thư mục wp-content và các thư mục con của nó, đặc biệt là uploads.

Nếu quyền truy cập của thư mục uploads bị đặt sai, ví dụ như chỉ cho phép chủ sở hữu đọc tệp, máy chủ sẽ bị từ chối khi cố gắng lưu tệp mới. Đây là một cơ chế bảo mật của hệ điều hành, nhưng nếu cấu hình sai, nó sẽ ngăn cản các hoạt động cần thiết của website, gây ra lỗi upload. Việc đặt quyền truy cập chuẩn cũng được mô tả chi tiết trong bài Thiết kế web WordPress giúp bạn hiểu rõ hơn về cấu hình file và phân quyền.
Cách kiểm tra và chỉnh sửa quyền thư mục trên máy chủ
Sau khi hiểu rõ nguyên nhân, bước tiếp theo là kiểm tra và điều chỉnh lại quyền truy cập thư mục. Đây là giải pháp hiệu quả nhất trong hầu hết các trường hợp gặp lỗi “upload failed to write file to disk”.
Hướng dẫn truy cập thư mục upload qua FTP hoặc hosting control panel
Để kiểm tra quyền thư mục, bạn cần truy cập vào hệ thống tệp tin của website. Bạn có thể sử dụng một trong hai cách phổ biến sau:
1. Sử dụng trình khách FTP (File Transfer Protocol): Các công cụ như FileZilla là lựa chọn phổ biến. Bạn cần thông tin đăng nhập FTP từ nhà cung cấp hosting, sau đó kết nối đến máy chủ và duyệt đến thư mục gốc của website (thường là public_html).
2. Sử dụng File Manager trong hosting control panel: Hầu hết các nhà cung cấp hosting như AZWEB đều cung cấp control panel như cPanel hoặc DirectAdmin. Bạn chỉ cần đăng nhập vào tài khoản hosting, tìm công cụ “File Manager” và truy cập trực tiếp vào các thư mục.

Thư mục bạn cần kiểm tra nằm ở đường dẫn: wp-content/uploads. Đây là nơi WordPress lưu trữ tất cả các tệp media mà bạn tải lên. Nếu bạn mới bắt đầu với WordPress, nên xem qua bài WordPress là gì để nắm kiến thức nền tảng về cấu trúc file và quyền truy cập.
Cách thiết lập lại quyền truy cập chuẩn (CHMOD)
Quyền truy cập, hay còn gọi là CHMOD, được biểu diễn bằng một chuỗi ba chữ số. Quy tắc chuẩn và an toàn cho WordPress là:
– 755 cho tất cả thư mục: Cho phép chủ sở hữu đọc, ghi và thực thi; nhóm và những người khác chỉ có quyền đọc và thực thi.
– 644 cho tất cả tệp tin: Cho phép chủ sở hữu đọc và ghi; nhóm và những người khác chỉ có quyền đọc.

Để thay đổi quyền, trong FileZilla, bạn chỉ cần nhấp chuột phải vào thư mục uploads, chọn “File Permissions”, nhập giá trị 755 và chọn tùy chọn “Recurse into subdirectories” (Áp dụng cho các thư mục con). Tương tự, trong cPanel File Manager, bạn nhấp chuột phải vào thư mục, chọn “Change Permissions” và thiết lập giá trị tương ứng. Việc đặt lại đúng quyền sẽ cho phép máy chủ ghi tệp vào thư mục và khắc phục lỗi. Tham khảo thêm về Cài đặt plugin và cách quản lý tệp tin liên quan đến các plugin có thể giúp bạn hiểu thêm về tầm quan trọng của quyền truy cập đúng đắn.
Cách dọn dẹp thư mục tạm để giải phóng bộ nhớ
Nếu việc sửa quyền truy cập không giải quyết được vấn đề, nguyên nhân có thể đến từ thư mục tạm của máy chủ bị đầy. Việc dọn dẹp thư mục này có thể giải phóng không gian và cho phép quá trình upload hoạt động trở lại.
Xác định vị trí thư mục tạm của server và WordPress
Việc tìm thư mục tạm có thể hơi phức tạp vì vị trí của nó phụ thuộc vào cấu hình của nhà cung cấp hosting. Thông thường, PHP sẽ sử dụng thư mục tạm mặc định của hệ thống, ví dụ như /tmp trên các máy chủ Linux. Tuy nhiên, một số nhà cung cấp hosting có thể định cấu hình một thư mục tạm riêng cho mỗi tài khoản người dùng để tăng cường bảo mật.

Cách dễ nhất để xác định vị trí thư mục tạm là liên hệ với bộ phận hỗ trợ kỹ thuật của nhà cung cấp hosting của bạn (ví dụ như AZWEB). Họ có thể cung cấp cho bạn đường dẫn chính xác. Nếu bạn có quyền truy cập vào tệp php.ini, bạn có thể tìm giá trị của biến upload_tmp_dir để biết đường dẫn này. Xem thêm bài viết Jetpack là gì để biết cách các plugin có thể hỗ trợ tối ưu hiệu năng và xử lý lỗi liên quan đến upload.
Các bước xóa file tạm không cần thiết
Sau khi đã xác định được vị trí thư mục tạm, bạn có thể tiến hành dọn dẹp. Hãy hết sức cẩn thận trong quá trình này, vì xóa nhầm tệp hệ thống có thể gây ra các lỗi khác.
1. Sử dụng File Manager: Truy cập thư mục tạm qua File Manager trong cPanel. Bạn sẽ thấy các tệp có tên ngẫu nhiên hoặc bắt đầu bằng “tmp”. Hãy xóa các tệp đã cũ (dựa trên ngày tháng sửa đổi) và không còn cần thiết.
2. Sử dụng SSH: Nếu bạn có quyền truy cập SSH, bạn có thể sử dụng các lệnh như ls -l để xem danh sách tệp và rm để xóa chúng.

Đối với hầu hết người dùng, cách an toàn và được khuyến khích nhất là yêu cầu nhà cung cấp hosting thực hiện việc dọn dẹp này. Họ có chuyên môn để xác định các tệp nào có thể xóa an toàn mà không ảnh hưởng đến hoạt động của máy chủ.
Cấu hình lại máy chủ để khắc phục lỗi upload
Trong một số trường hợp, lỗi không đến từ quyền truy cập hay thư mục tạm đầy, mà từ chính cấu hình của máy chủ hoặc giới hạn của gói hosting. Việc kiểm tra và điều chỉnh các thông số này có thể là chìa khóa để giải quyết vấn đề.
Điều chỉnh cấu hình PHP (php.ini) và giới hạn bộ nhớ
Tệp php.ini kiểm soát nhiều khía cạnh hoạt động của PHP trên máy chủ của bạn. Đôi khi, đường dẫn đến thư mục tạm không được định nghĩa rõ ràng, gây ra lỗi. Bạn có thể chỉ định một thư mục tạm cụ thể bằng cách thêm dòng sau vào tệp wp-config.php:define('WP_TEMP_DIR', dirname(__FILE__) . '/wp-content/temp');
Sau đó, bạn cần tạo một thư mục tên là temp bên trong wp-content.

Ngoài ra, các tham số như upload_max_filesize (kích thước tệp tối đa) và post_max_size (kích thước dữ liệu POST tối đa) cũng ảnh hưởng đến việc upload. Mặc dù chúng thường gây ra lỗi khác, việc đảm bảo các giá trị này đủ lớn cũng là một bước kiểm tra quan trọng. Bạn có thể chỉnh sửa chúng thông qua công cụ “MultiPHP INI Editor” trong cPanel. Để tìm hiểu thêm chi tiết về cách sử dụng WordPress và quản lý lỗi, bạn có thể đọc thêm bài Học WordPress từ cơ bản đến nâng cao.
Kiểm tra dung lượng lưu trữ và cấu hình hosting
Một nguyên nhân đơn giản nhưng thường bị bỏ qua là dung lượng ổ đĩa của gói hosting đã hết. Nếu ổ đĩa đầy, máy chủ không thể ghi bất kỳ tệp mới nào, dù là tệp tạm thời hay tệp cuối cùng. Bạn có thể dễ dàng kiểm tra dung lượng còn lại trên trang tổng quan của cPanel, thường được hiển thị dưới dạng thanh trạng thái “Disk Usage”.

Nếu bạn thấy dung lượng đã gần hết, hãy xóa các tệp không cần thiết như các bản sao lưu cũ, email rác, hoặc các website không còn sử dụng. Nếu không gian lưu trữ vẫn không đủ, đã đến lúc bạn cần cân nhắc nâng cấp lên gói hosting cao hơn với dung lượng lớn hơn. Hãy liên hệ với nhà cung cấp hosting của bạn, chẳng hạn như AZWEB, để được tư vấn về các gói dịch vụ phù hợp với nhu cầu phát triển của website. Ngoài ra, tham khảo thêm về các Theme WordPress để biết cách chọn theme không gây lỗi upload và tối ưu hiệu năng.
Các lưu ý khi xử lý và phòng ngừa lỗi tương tự trong tương lai
Khắc phục lỗi là một chuyện, nhưng ngăn chặn nó tái diễn còn quan trọng hơn. Bằng cách áp dụng một vài thói quen tốt, bạn có thể giảm thiểu đáng kể nguy cơ gặp lại lỗi “upload failed to write file to disk”.
Xây dựng thói quen kiểm tra định kỳ thư mục và quyền truy cập
Việc kiểm tra định kỳ là biện pháp phòng ngừa hiệu quả. Hãy tạo thói quen kiểm tra quyền truy cập của thư mục wp-content/uploads sau khi thực hiện các thay đổi lớn trên website, chẳng hạn như cập nhật phiên bản WordPress, cài đặt plugin mới, hoặc thay đổi theme. Đôi khi, các quá trình tự động này có thể vô tình thay đổi quyền truy cập. Một vài phút kiểm tra có thể giúp bạn tiết kiệm hàng giờ xử lý sự cố sau này. Để hiểu thêm về các plugin và cách tránh lỗi do plugin gây ra, bạn có thể tham khảo bài Plugin popup WordPress.
Sao lưu và cảnh báo lỗi upload
Luôn luôn sao lưu website của bạn trước khi thực hiện bất kỳ thay đổi nào liên quan đến tệp tin hoặc cơ sở dữ liệu. Sử dụng các plugin sao lưu tự động như UpdraftPlus hoặc sao lưu thủ công qua cPanel. Một bản sao lưu đầy đủ sẽ là “phao cứu sinh” nếu có sự cố xảy ra. Ngoài ra, hãy cân nhắc sử dụng các công cụ giám sát website. Một số dịch vụ có thể cảnh báo bạn về các vấn đề tiềm ẩn như dung lượng ổ đĩa sắp hết hoặc các lỗi máy chủ, giúp bạn hành động trước khi chúng ảnh hưởng đến người dùng. Tìm hiểu thêm về Elementor pro để biết cách tạo giao diện ổn định và tránh lỗi do cài đặt sai có thể hỗ trợ bạn trong quản trị trang.
Thực trạng và cách xử lý các lỗi tương tự
Lỗi “upload failed to write file to disk” chỉ là một trong số các sự cố liên quan đến việc tải tệp lên trong WordPress. Hiểu thêm về các lỗi tương tự sẽ giúp bạn chẩn đoán vấn đề nhanh và chính xác hơn.
Lỗi file upload bị giới hạn kích thước
Đây là lỗi rất phổ biến, thường hiển thị thông báo như “The uploaded file exceeds the upload_max_filesize directive in php.ini”. Lỗi này xảy ra khi tệp bạn tải lên lớn hơn giới hạn được quy định trong cấu hình PHP của máy chủ. Cách khắc phục là tăng các giá trị upload_max_filesize và post_max_size trong tệp php.ini, user.ini hoặc .htaccess. Hầu hết các nhà cung cấp hosting đều cho phép bạn chỉnh sửa các thông số này qua cPanel.
Lỗi thiếu quyền ghi file trên các thư mục khác của WordPress
Vấn đề quyền truy cập không chỉ giới hạn ở thư mục uploads. Bạn có thể gặp lỗi tương tự khi cài đặt hoặc cập nhật plugin và theme. Lỗi này xảy ra khi máy chủ không có quyền ghi vào các thư mục wp-content/plugins hoặc wp-content/themes. Cách giải quyết vẫn tương tự: sử dụng FTP hoặc File Manager để kiểm tra và đặt lại quyền truy cập cho các thư mục này về giá trị chuẩn là 755. Đảm bảo rằng toàn bộ cấu trúc thư mục wp-content có quyền ghi phù hợp là rất quan trọng để website hoạt động ổn định. Bạn có thể xem thêm bài viết WooCommerce là gì nếu website của bạn có sử dụng plugin thương mại điện tử phổ biến này và cần hiểu cách plugin tương tác với hệ thống file.
Best Practices
Để quản lý website WordPress một cách chuyên nghiệp và hạn chế tối đa các lỗi liên quan đến tệp tin, hãy tuân thủ các nguyên tắc thực hành tốt nhất sau đây:
- Luôn kiểm tra quyền và dung lượng: Trước và sau khi thực hiện bất kỳ nâng cấp hoặc thay đổi cấu trúc nào trên website, hãy dành thời gian kiểm tra lại quyền truy cập của các thư mục quan trọng (
wp-content,uploads,plugins,themes) và dung lượng ổ đĩa còn trống trên hosting. - Không cấp quyền quá rộng (tránh 777): Tuyệt đối không bao giờ đặt quyền truy cập là
777cho bất kỳ tệp hay thư mục nào. Quyền777cho phép bất kỳ ai cũng có thể đọc, ghi và thực thi tệp, tạo ra một lỗ hổng bảo mật nghiêm trọng mà tin tặc có thể khai thác để tải lên mã độc. Luôn tuân thủ quy tắc755cho thư mục và644cho tệp tin. - Tận dụng plugin hỗ trợ: Sử dụng các plugin quản lý tệp tin hoặc plugin bảo mật có chức năng quét và sửa lỗi quyền truy cập. Các công cụ này có thể tự động hóa quy trình kiểm tra và giúp bạn phát hiện sớm các vấn đề.

- Sao lưu dữ liệu thường xuyên: Đây là nguyên tắc vàng. Hãy thiết lập một lịch trình sao lưu tự động (hàng ngày hoặc hàng tuần) cho toàn bộ website. Trước khi thực hiện bất kỳ thao tác can thiệp sâu vào hệ thống như sửa tệp
php.inihay thay đổi quyền hàng loạt, hãy tạo một bản sao lưu thủ công để đảm bảo an toàn.
Kết luận
Lỗi “upload failed to write file to disk” trong WordPress tuy gây khó chịu nhưng hoàn toàn có thể khắc phục được nếu bạn tiếp cận một cách có hệ thống. Nguyên nhân cốt lõi thường nằm ở hai vấn đề chính: quyền truy cập thư mục không chính xác hoặc thư mục tạm của máy chủ gặp sự cố. Bằng cách làm theo các bước đã hướng dẫn, từ việc kiểm tra và sửa quyền truy cập (CHMOD) bằng FTP hoặc File Manager, đến việc liên hệ nhà cung cấp hosting để dọn dẹp thư mục tạm, bạn có thể nhanh chóng giải quyết vấn đề.

Hãy luôn nhớ kiểm tra dung lượng lưu trữ và thực hiện sao lưu trước khi tiến hành bất kỳ thay đổi nào. Việc tuân thủ các quy tắc thực hành tốt nhất không chỉ giúp bạn sửa lỗi hiện tại mà còn ngăn ngừa nhiều sự cố tiềm ẩn trong tương lai. Nếu bạn gặp khó khăn trong quá trình này, đừng ngần ngại liên hệ với đội ngũ hỗ trợ kỹ thuật của AZWEB. Chúng tôi luôn sẵn sàng giúp bạn đảm bảo website của mình hoạt động trơn tru và hiệu quả.