Cách khắc phục lỗi “WooCommerce Memory Exhausted” triệt để và chi tiết nhất

woocommerce memory exhausted

Lỗi “WooCommerce memory exhausted” là một trong những vấn đề phổ biến nhất mà chủ cửa hàng trực tuyến gặp phải khi vận hành website bán hàng. Thông báo lỗi thường xuất hiện dưới dạng “Allowed memory size of X bytes exhausted” và khiến trang web ngừng hoạt động hoàn toàn. Nguyên nhân cốt lõi đến từ việc giới hạn bộ nhớ PHP (PHP memory limit) không đủ để xử lý các tác vụ nặng như đồng bộ sản phẩm, xử lý đơn hàng số lượng lớn hoặc cài đặt plugin nặng. Bài viết này sẽ phân tích chi tiết nguyên nhân, cung cấp giải pháp từ cơ bản đến nâng cao, giúp bạn giải quyết dứt điểm lỗi này mà không cần can thiệp kỹ thuật quá sâu.

Lỗi “WooCommerce Memory Exhausted” là gì?

woocommerce memory exhausted - Hình 4

Lỗi “WooCommerce memory exhausted” xảy ra khi tập lệnh PHP trên máy chủ của bạn cố gắng sử dụng nhiều bộ nhớ hơn mức giới hạn cho phép. WooCommerce là một plugin phức tạp, xử lý hàng nghìn tác vụ cùng lúc như tính thuế, quản lý tồn kho, xử lý thanh toán. Khi lượng dữ liệu hoặc số lượng plugin tăng lên, nhu cầu bộ nhớ vượt quá ngưỡng an toàn, dẫn đến lỗi.

Thông báo lỗi điển hình trông như sau: “Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 20480 bytes) in /public_html/wp-content/plugins/woocommerce/includes/…” Con số 67108864 byte tương đương 64MB – đây là giới hạn mặc định thường quá thấp cho một cửa hàng WooCommerce hiện đại.

Nguyên nhân chính gây ra lỗi “WooCommerce Memory Exhausted”

woocommerce memory exhausted - Hình 3

Giới hạn bộ nhớ PHP mặc định quá thấp

Hầu hết các nhà cung cấp hosting giá rẻ đặt giới hạn memory limit ở mức 64MB hoặc 128MB. WooCommerce khuyến nghị tối thiểu 256MB, nhưng thực tế với các cửa hàng có hơn 100 sản phẩm hoặc nhiều plugin, bạn cần 512MB hoặc cao hơn.

Plugin và theme kém tối ưu

Một số plugin không được viết tối ưu, gây rò rỉ bộ nhớ (memory leak) khi hoạt động. Theme phức tạp với quá nhiều hiệu ứng JavaScript cũng tiêu tốn tài nguyên đáng kể. Các plugin cache, bảo mật, hoặc builder trang thường là thủ phạm chính.

Cơ sở dữ liệu phình to

WooCommerce lưu trữ rất nhiều dữ liệu tạm thời: session của khách hàng, lịch sử đơn hàng, log lỗi, biến thể sản phẩm. Khi cơ sở dữ liệu không được dọn dẹp định kỳ, dung lượng tăng vọt, khiến các truy vấn SQL chậm và tiêu tốn bộ nhớ.

Số lượng sản phẩm và biến thể quá lớn

Các cửa hàng có hàng nghìn sản phẩm với hàng chục biến thể (màu sắc, kích thước) sẽ gây áp lực lớn lên bộ nhớ khi thực hiện các thao tác như import/export, cập nhật giá hàng loạt.

Hướng dẫn khắc phục lỗi “WooCommerce Memory Exhausted” từng bước

woocommerce memory exhausted - Hình 2

Bước 1: Kiểm tra giới hạn bộ nhớ hiện tại

Trước khi sửa lỗi, bạn cần biết giới hạn hiện tại là bao nhiêu. Truy cập WooCommerce > Status > Server environment. Tìm dòng “PHP Memory Limit”. Nếu dưới 256MB, bạn cần tăng lên.

Cách kiểm tra nhanh khác: Tạo file info.php trong thư mục gốc WordPress với nội dung <?php phpinfo();?>, chạy file này và tìm “memory_limit”. Sau khi kiểm tra xong, nhớ xóa file để tránh rủi ro bảo mật.

Bước 2: Tăng giới hạn bộ nhớ PHP qua file wp-config.php

Đây là phương pháp đơn giản và hiệu quả nhất. Mở file wp-config.php trong thư mục gốc WordPress, thêm dòng sau trước dòng “That’s all, stop editing!”:

define('WP_MEMORY_LIMIT', '512M');
define('WP_MAX_MEMORY_LIMIT', '512M');

Dòng đầu tiên đặt giới hạn cho frontend, dòng thứ hai cho khu vực quản trị (admin). Nếu bạn có nhiều tài nguyên, có thể nâng lên 1024M.

Bước 3: Tăng qua file.htaccess

Nếu không có quyền truy cập wp-config.php,

Lỗi này gây gián đoạn hoạt động của cửa hàng, ngăn khách hàng truy cập hoặc thanh toán. Nếu không xử lý kịp thời,

Không. Các bước cơ bản như thêm dòng code vào wp-config.php hoặc liên hệ hosting đều rất đơn giản, ai cũng làm được. Nếu bạn không tự tin, hãy nhờ bộ phận hỗ trợ kỹ thuật của hosting thực hiện giúp.

Tại sao tôi đã tăng memory limit lên 512MB mà vẫn bị lỗi?

Có hai khả năng: Một là bạn chưa tăng đúng cách (sai cú pháp, sai file). Hai là có plugin hoặc theme gây rò rỉ bộ nhớ nghiêm trọng, tiêu tốn toàn bộ tài nguyên dù đã tăng. Hãy kiểm tra lại cấu hình và thực hiện các bước tối ưu hóa khác.

Lỗi này có liên quan đến việc cập nhật WooCommerce lên phiên bản mới không?

Có thể. Một số bản cập nhật WooCommerce yêu cầu nhiều tài nguyên hơn phiên bản cũ. Nếu bạn vừa cập nhật và gặp lỗi, hãy kiểm tra changelog của phiên bản đó, đồng thời tăng memory limit lên mức cao hơn.

Kết luận

woocommerce memory exhausted - Hình 1

Lỗi “WooCommerce memory exhausted” không phải là vấn đề quá phức tạp nếu bạn hiểu rõ nguyên nhân và áp dụng đúng phương pháp. Bắt đầu bằng việc kiểm tra giới hạn bộ nhớ hiện tại, tăng lên 512MB qua wp-config.php, sau đó tối ưu hóa cơ sở dữ liệu và loại bỏ các plugin không cần thiết. Nếu lỗi vẫn tiếp diễn, hãy nâng cấp hosting hoặc chuyển sang môi trường máy chủ mạnh mẽ hơn. Việc duy trì một cửa hàng WooCommerce ổn định đòi hỏi sự chăm sóc thường xuyên, nhưng với các hướng dẫn chi tiết trong bài viết này, bạn hoàn toàn có thể tự mình giải quyết vấn đề và đảm bảo trải nghiệm mua sắm mượt mà cho khách hàng.

Bài viết cùng chủ đề:

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *