Trong quá trình sử dụng WordPress, bạn có thể gặp phải lỗi liên quan đến giới hạn bộ nhớ PHP (PHP Memory Limit) hoặc bộ nhớ WordPress (WordPress Memory Limit), khiến website hoạt động chậm hoặc thậm chí bị gián đoạn. Việc tăng PHP Memory Limit và WordPress Memory Limit sẽ giúp cải thiện hiệu suất website, đảm bảo hệ thống hoạt động ổn định hơn. Vậy làm thế nào để thực hiện điều này một cách an toàn và hiệu quả? Hãy cùng Tino tìm hiểu chi tiết trong bài viết dưới đây nhé!
PHP Memory Limit và WordPress Memory Limit là gì?
PHP Memory Limit là gì?
PHP Memory Limit là giới hạn bộ nhớ tối đa mà một script PHP có thể sử dụng trong quá trình thực thi. Đây là một thiết lập quan trọng trong PHP, giúp kiểm soát mức tiêu thụ tài nguyên của các ứng dụng web, tránh tình trạng quá tải dẫn đến lỗi hoặc crash server. Nếu một script vượt quá giới hạn này, hệ thống sẽ báo lỗi kiểu như:
Fatal error: Allowed memory size of x bytes exhausted (tried to allocate y bytes)

WordPress Memory Limit là gì?
WordPress Memory Limit là mức giới hạn bộ nhớ tối đa mà WordPress có thể sử dụng khi chạy các tác vụ trên website. Mặc định, WordPress sẽ đặt một mức giới hạn thấp hơn PHP Memory Limit, nhưng bạn có thể tăng giá trị này để phù hợp với nhu cầu thực tế.
Ví dụ:
PHP Memory Limit có thể được đặt là 256M. WordPress Memory Limit sẽ được đặt là 128M (thấp hơn PHP Memory Limit).
Nếu WordPress yêu cầu nhiều tài nguyên hơn mức cho phép, bạn có thể gặp lỗi như:
Fatal error: Allowed memory size exhausted
Sự khác biệt giữa PHP Memory Limit và WordPress Memory Limit
Tiêu chí | PHP Memory Limit | WordPress Memory Limit |
---|---|---|
Khái niệm | Giới hạn bộ nhớ tối đa mà một script PHP có thể sử dụng khi thực thi. | Giới hạn bộ nhớ tối đa mà WordPress có thể sử dụng trong quá trình hoạt động. |
Phạm vi áp dụng | Áp dụng cho tất cả các ứng dụng PHP chạy trên server. | Chỉ áp dụng riêng cho WordPress. |
Mức độ ưu tiên | Là giới hạn chung, ảnh hưởng đến tất cả các ứng dụng PHP, bao gồm cả WordPress. | Chỉ có hiệu lực trong WordPress và không thể vượt quá PHP Memory Limit. |
Vị trí thiết lập | Được cấu hình trong tệp php.ini, .htaccess hoặc wp-config.php. | Được đặt trong tệp wp-config.php. |
Giá trị mặc định | Tùy vào nhà cung cấp hosting, thường là 32M – 128M. | WordPress mặc định đặt là 40M cho trang thông thường và 64M cho trang quản trị. |
Tác động khi vượt quá giới hạn | Nếu một script PHP tiêu tốn nhiều bộ nhớ hơn giới hạn này, hệ thống sẽ báo lỗi: “Fatal error: Allowed memory size of X bytes exhausted…”. | Nếu WordPress cần nhiều bộ nhớ hơn mức cho phép, có thể gặp lỗi trắng trang hoặc lỗi “Allowed memory size exhausted”. |
Nguyên nhân khiến PHP Memory và WordPress Memory bị quá tải
Nguyên nhân liên quan đến PHP Memory Limit
- Tập lệnh PHP phức tạp: Một số tập lệnh PHP (script) có thể yêu cầu xử lý lượng dữ liệu lớn hoặc thực hiện các phép tính phức tạp, dẫn đến tiêu tốn nhiều bộ nhớ.
- Cấu hình PHP Memory Limit quá thấp: Nếu giá trị memory_limit trong php.ini được đặt quá thấp (ví dụ: 32MB hoặc 64MB), các script PHP sẽ nhanh chóng vượt quá giới hạn này.
- Nhiều ứng dụng PHP chạy đồng thời: Nhiều máy chủ của bạn đang chạy nhiều ứng dụng PHP cùng lúc, tổng lượng bộ nhớ mà tất cả các ứng dụng này sử dụng có thể vượt quá giới hạn của máy chủ.
- Lỗi trong mã nguồn: Không giải phóng bộ nhớ sau khi sử dụng (ví dụ: không đóng kết nối cơ sở dữ liệu) hoặc sử dụng các hàm không hiệu quả (ví dụ: lưu trữ toàn bộ bảng cơ sở dữ liệu vào mảng thay vì xử lý từng dòng).

Nguyên nhân liên quan đến WordPress Memory Limit
- Plugin và theme nặng: Một số plugin hoặc phổ biến có thể cần rất nhiều bộ nhớ. Các theme phức tạp với nhiều tính năng tùy chỉnh, shortcode, hoặc widget cũng có thể gây tiêu tốn bộ nhớ.
- Số lượng bài viết và dữ liệu lớn: Nếu trang web của bạn có hàng nghìn bài viết, sản phẩm hoặc bình luận, WordPress sẽ cần thêm bộ nhớ để xử lý các truy vấn cơ sở dữ liệu và hiển thị nội dung.
- Tối ưu hóa kém: Cơ sở dữ liệu WordPress chưa được dọn dẹp định kỳ hoặc việc không sử dụng các công cụ caching có thể khiến WordPress phải xử lý mọi yêu cầu từ đầu, tiêu tốn nhiều tài nguyên.
- Tấn công hoặc lưu lượng truy cập cao: Kẻ tấn công có thể gửi hàng loạt yêu cầu đến máy chủ, làm tăng tải bộ nhớ và không đủ tài nguyên để xử lý.
- Cập nhật không đúng cách: Việc cập nhật WordPress, plugin, hoặc theme lên phiên bản mới mà không kiểm tra tính tương thích có thể dẫn đến lỗi, khiến WordPress sử dụng nhiều bộ nhớ hơn bình thường.
- Hosting chất lượng thấp: Một số nhà cung cấp hosting chia sẻ tài nguyên giữa nhiều trang web trên cùng một máy chủ. Nếu tài nguyên bị giới hạn nghiêm ngặt, WordPress có thể không nhận đủ bộ nhớ để hoạt động.
Hướng dẫn cách tăng PHP Memory Limit và WordPress Memory Limit
Tăng giới hạn PHP Memory Limit
Kiểm tra giá trị hiện tại
Trước khi thay đổi, bạn cần kiểm tra xem PHP Memory Limit hiện tại là bao nhiêu:
Tạo một file PHP (ví dụ: info.php) với nội dung sau:
<?php phpinfo(); ?>
Upload file này lên thư mục gốc của website và truy cập qua trình duyệt (ví dụ: https://yourdomain.com/info.php).
Sau đó, tìm dòng memory_limit trong bảng thông tin hiển thị.
Một số cách tăng PHP Memory Limit
Cách 1 – Chỉnh sửa file php.ini
File php.ini là file cấu hình chính của PHP.
Cách thực hiện :
Bước 1: Đăng nhập vào hosting của bạn qua FTP hoặc File Manager trong cPanel.
Bước 2: Tìm file php.ini. Nếu không tìm thấy, bạn có thể tạo một file mới với tên php.ini.
Bước 3: Thêm hoặc chỉnh sửa dòng sau:
memory_limit = 256M
Bước 4: Lưu file và khởi động lại máy chủ (nếu cần).
Cách 2 – Chỉnh sửa file .htaccess
Nếu bạn không có quyền truy cập vào file php.ini, bạn có thể chỉnh sửa file .htaccess.
Cách thực hiện :
Bước 1: Mở file .htaccess trong thư mục gốc của website.

Bước 2: Thêm dòng sau:
php_value memory_limit 256M

Cách 3 – Chỉnh sửa trên cPanel
Bước 1: Đăng nhập vào cPanel.
Bước 2: Tìm Select PHP Version hoặc MultiPHP INI Editor.

Bước 3: Tìm thiết lập memory_limit và tăng lên 256M hoặc 512M.

Bước 4: Lưu lại và kiểm tra kết quả.
Tăng WordPress Memory Limit
Kiểm tra giá trị hiện tại
Bạn có thể kiểm tra WordPress Memory Limit bằng cách thêm đoạn mã sau vào file wp-config.php:
define('WP_DEBUG', true);
Sau đó, kiểm tra thông báo lỗi trong phần quản trị WordPress hoặc trên giao diện người dùng.
Cách tăng WordPress Memory Limit
Dưới đây là cách phổ biến nhất để tăng WordPress Memory Limit:
Bước 1: Mở tệp wp-config.php trong thư mục gốc của website.

Bước 2: Thêm dòng sau trước dòng /* That’s all, stop editing! Happy blogging. */
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');
Trong đó:
- WP_MEMORY_LIMIT là giới hạn bộ nhớ cho website.
- WP_MAX_MEMORY_LIMIT là giới hạn bộ nhớ cho khu vực quản trị (admin panel).

Lưu ý: Giá trị bạn đặt phải nhỏ hơn hoặc bằng PHP Memory Limit.
Kết luận
Việc tăng giới hạn PHP Memory Limit và WordPress Memory Limit không chỉ giúp website hoạt động mượt mà hơn mà còn hạn chế các lỗi phát sinh khi xử lý dữ liệu lớn. Tuy nhiên, hãy đảm bảo rằng bạn chỉ thay đổi trong giới hạn cho phép của nhà cung cấp dịch vụ lưu trữ. Nếu sau khi tăng giới hạn mà website vẫn gặp lỗi, bạn có thể cần xem xét nâng cấp hosting hoặc tối ưu lại mã nguồn để có hiệu suất tốt nhất.
Những câu hỏi thường gặp
Nếu tăng PHP Memory Limit quá cao có ảnh hưởng gì không?
Tăng quá cao có thể làm máy chủ quá tải nếu website của bạn có mã nguồn không được tối ưu. Bạn chỉ nên đặt mức giới hạn phù hợp với nhu cầu thực tế.
Tôi dùng hosting shared, có thể tăng PHP Memory Limit không?
Hầu hết các shared hosting có giới hạn bộ nhớ tối đa (thường là 256MB). Bạn có thể tăng trong phạm vi cho phép, nhưng nếu cần nhiều hơn, hãy cân nhắc nâng cấp lên VPS hoặc hosting cao cấp hơn.
Sau khi tăng giới hạn bộ nhớ, tôi có cần khởi động lại server không?
Tăng WordPress Memory Limit có làm website nhanh hơn không?
Không hẳn. Việc tăng bộ nhớ chỉ giúp tránh lỗi do thiếu RAM, nhưng tốc độ website còn phụ thuộc vào nhiều yếu tố khác như cache, tối ưu mã nguồn, tốc độ hosting,…