5/5 - (4 bình chọn)

Hướng dẫn chi tiết lỗi Allowed memory size exhausted trên WordPress và WooCommerce. Phân tích nguyên nhân, cách tăng PHP memory limit và cấu hình đúng để website ổn định.

Lỗi Allowed Memory Size Exhausted Là Gì

Lỗi Allowed memory size exhausted là một dạng PHP Fatal Error xảy ra khi PHP không còn đủ bộ nhớ RAM được phép cấp phát để tiếp tục thực thi mã lệnh. Khi lỗi này xuất hiện, PHP sẽ dừng ngay lập tức, khiến website không thể tải trang, trang quản trị bị trắng hoặc hiển thị thông báo lỗi nghiêm trọng.

Thông báo thường gặp có dạng:

Fatal error: Allowed memory size of 134217728 bytes exhausted

(tried to allocate xxxx bytes)

Trong đó:

  • 134217728 bytes tương đương 128MB
  • Đây chính là giới hạn bộ nhớ PHP hiện tại
  • PHP cố cấp thêm bộ nhớ nhưng vượt quá giới hạn cho phép

Lỗi này xuất hiện rất phổ biến trên các website WordPress sử dụng WooCommerce, đặc biệt là các website bán hàng có nhiều sản phẩm, plugin và tính năng mở rộng.

Vì Sao WordPress Và WooCommerce Dễ Gặp Lỗi Này

WooCommerce không phải là plugin nhẹ. Trong quá trình hoạt động, hệ thống cần sử dụng bộ nhớ PHP để:

  • Tải dữ liệu sản phẩm, biến thể, hình ảnh
  • Xử lý giá, thuế, khuyến mãi
  • Chạy AJAX cho giỏ hàng, thanh toán
  • Thực thi cron nền
  • Render giao diện với page builder như Flatsome, Elementor

Nếu PHP memory limit quá thấp, chỉ cần một tác vụ nặng cũng đủ gây ra lỗi cạn bộ nhớ.

Trên thực tế, 128MB chỉ phù hợp cho blog đơn giản, không đủ cho website thương mại điện tử.

Dấu Hiệu Nhận Biết Lỗi Allowed memory size exhausted

Bạn có thể đang gặp lỗi này nếu website có các biểu hiện sau:

  • Trang web trắng hoàn toàn
  • Trang quản trị WordPress không vào được
  • Hiển thị thông báo lỗi Fatal Error
  • Lỗi xuất hiện khi:
    • Lưu sản phẩm
    • Cập nhật trang
    • Import dữ liệu
    • Truy cập trang danh mục lớn

Trong file log hoặc thông báo lỗi, luôn xuất hiện cụm từ:

Allowed memory size exhausted

Phân Loại Lỗi Theo Góc Độ Kỹ Thuật

Lỗi này thuộc nhóm:

  • PHP Fatal Error
  • Runtime Error
  • Server Resource Exhaustion Error

Đây không phải lỗi code, không phải lỗi theme hay plugin bị hỏng, mà là lỗi cấu hình tài nguyên PHP không phù hợp với nhu cầu thực tế.

Nguyên Nhân Chính Gây Ra Lỗi

Các nguyên nhân phổ biến bao gồm:

  • PHP memory limit quá thấp (thường là 128MB)
  • Website dùng nhiều plugin nặng
  • WooCommerce chạy nhiều tác vụ nền
  • Page builder tạo nhiều block
  • Không đồng bộ memory limit giữa PHP và WordPress
  • Không restart PHP sau khi chỉnh cấu hình

Cách Khắc Phục Lỗi Allowed Memory Size Exhausted Triệt Để

Bước 1: Tăng PHP memory limit

Đây là bước bắt buộc.

Giá trị khuyến nghị cho website WordPress dùng WooCommerce:

  • Tối thiểu: 256MB
  • Khuyến nghị ổn định: 512MB

Nếu dùng VPS với aaPanel hoặc CyberPanel, chỉnh trực tiếp trong PHP Config của phiên bản PHP đang sử dụng.

Giá trị nên đặt:

memory_limit = 512M

Bước 2: Tăng thời gian xử lý PHP

Nhiều trường hợp tăng bộ nhớ nhưng vẫn lỗi do PHP timeout.

Cần chỉnh thêm:

max_execution_time = 120

max_input_time = 120

Việc này giúp PHP có đủ thời gian xử lý các tác vụ nặng như lưu sản phẩm hoặc render trang.

Bước 3: Đồng bộ bộ nhớ trong WordPress

Mở file wp-config.php và thêm:

define(‘WP_MEMORY_LIMIT’, ‘512M’);

define(‘WP_MAX_MEMORY_LIMIT’, ‘512M’);

Điều này đảm bảo WordPress không tự hạ bộ nhớ khi chạy frontend hoặc cron.

Bước 4: Restart PHP và web server

Sau khi chỉnh cấu hình PHP, bắt buộc restart:

  • PHP service
  • LiteSpeed hoặc web server đang dùng

Nếu không restart, cấu hình mới không có hiệu lực.

Bước 5: Kiểm tra lại cấu hình đã áp dụng

Trong WordPress, vào:

Công cụ → Sức khỏe trang web → Thông tin → Máy chủ

Xác nhận các thông số:

  • PHP memory limit ≥ 512M
  • Max execution time = 120
  • Max input time = 120

Nếu vẫn hiển thị 128MB, nghĩa là website chưa dùng đúng PHP version hoặc chưa restart dịch vụ.

Có Cần Chỉnh Thêm Thông Số PHP Khác Không

Với website bán hàng, nên chỉnh đồng bộ các thông số sau để tránh lỗi phát sinh:

  • memory_limit: 512M
  • max_execution_time: 120
  • max_input_time: 120
  • max_input_vars: 3000
  • post_max_size: 64M
  • upload_max_filesize: 64M

Các giá trị này đủ an toàn, không gây rủi ro bảo mật và phù hợp với môi trường VPS.

Lỗi Này Có Ảnh Hưởng SEO Không

Có. Nếu lỗi xuất hiện ở frontend:

  • Googlebot không truy cập được trang
  • Trang bị trả về lỗi 500
  • Ảnh hưởng đến khả năng index
  • Giảm độ ổn định website

Vì vậy, lỗi Allowed memory size exhausted cần xử lý ngay, không nên để kéo dài.

Những Sai Lầm Thường Gặp Khi Sửa Lỗi

  • Chỉ chỉnh trong wp-config.php mà không chỉnh PHP
  • Chỉnh php.ini nhưng không restart dịch vụ
  • Chỉnh nhầm phiên bản PHP
  • Chỉnh .htaccess trong khi dùng LiteSpeed
  • Tăng bộ nhớ quá thấp vẫn không đủ cho WooCommerce

Tạm Kết

Lỗi Allowed memory size exhausted là lỗi cạn tài nguyên PHP, rất phổ biến trên website WordPress sử dụng WooCommerce. Đây không phải lỗi code, mà là vấn đề cấu hình server chưa phù hợp với mức độ tải thực tế của website. Giải pháp đúng và bền vững là tăng PHP memory limit lên 512MB, đồng bộ cấu hình PHP và WordPress, đồng thời restart dịch vụ để áp dụng thay đổi. Khi cấu hình đúng, website sẽ hoạt động ổn định, tránh lỗi trắng trang, lỗi lưu dữ liệu và giảm rủi ro SEO.

Để 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 *

Khuyến mãi Shopee