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.






