Giới hạn bộ nhớ trong WordPress

tl; dr: Đặt giá trị theo cách thủ công hoặc các giá trị mặc định của WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT không có hiệu lực nếu WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT nhỏ hơn hoặc bằng giới hạn bộ nhớ của PHP (sau đây gọi là memory_limit được gọi là) là. Chúng được sử dụng để đặt các giá trị quá thấp của memory_limit động đến mức tối thiểu được khuyến nghị.


  • Hằng số WP_MEMORY_LIMIT có thể tùy chọn trong wp-config.php với define('WP_MEMORY_LIMIT', 'XXXM'); bao quanh.
  • Hằng số WP_MAX_MEMORY_LIMIT có thể tùy chọn trong wp-config.php với define('WP_MAX_MEMORY_LIMIT', 'XXXM'); bao quanh.
  • WP_MEMORY_LIMIT không được đặt, áp dụng cho giá trị mặc định của nó:
    • memory_limit, cung cấp giá trị của memory_limit không thể thay đổi động,
    • 64 MB nếu nó là một multisite,
    • 40MB nếu không.
  • WP_MAX_MEMORY_LIMIT không được đặt, áp dụng cho giá trị mặc định của nó:
    • memory_limit, cung cấp giá trị của memory_limit không thể thay đổi động hoặc nếu nó không bị giới hạn (-1) hoặc lớn hơn hoặc bằng 256 MB,
    • 256 MB nếu không.
  • Các giá trị mặc định đã được nâng lên nhiều lần trong quá khứ.
  • WP_MEMORY_LIMIT đã thay đổi ở mọi nơi bằng cách sử dụng chức năng ini_set() năng động memory_limit, nếu WP_MEMORY_LIMIT lớn hơn cái hiện tại memory_limit Hoặc khi nào WP_MEMORY_LIMIT là không giới hạn (-1).
  • WP_MAX_MEMORY_LIMIT đã thay đổi trong phần phụ trợ (chính xác hơn: bất cứ khi nào hàm wp_raise_memory_limit() được gọi trong các ngữ cảnh khác nhau [quản trị, hình ảnh]) bằng cách sử dụng hàm ini_set() năng động memory_limit, nếu WP_MAX_MEMORY_LIMIT lớn hơn cái hiện tại memory_limit Hoặc khi nào WP_MAX_MEMORY_LIMIT là không giới hạn (-1).
  • Logic của WP_MAX_MEMORY_LIMIT chạy sau logic của WP_MEMORY_LIMIT, vậy nên WP_MEMORY_LIMIT trong giao diện người dùng và WP_MAX_MEMORY_LIMIT có hiệu lực trong chương trình phụ trợ.
  • Phần lớn logic được mô tả ở trên nằm trong chức năng wp_initial_constants() (/wp-includes/default-constants.php) như trong wp_raise_memory_limit() (/wp-includes/functions.php) thay vì.
  • Giá trị memory_limit = XXXM Trong php.ini Được định nghia memory_limit (sau khi khởi động lại dịch vụ web).
  • Giá trị php_value memory_limit XXXM Trong .htaccess Được định nghia memory_limit cho tất cả các tệp PHP trong thư mục hoặc thư mục con của nó trong đó .htaccess xác định vị trí.
  • Máy chủ web có thể ngăn không cho thay đổi giá trị của giới hạn bộ nhớ với ini_set () hoặc vượt quá một giá trị được chỉ định (xem php_admin_value ).
  • memory_limit áp dụng cho mỗi quy trình: Tăng memory_limit có thể khiến số lượng yêu cầu PHP song song giảm xuống. Do đó, giá trị nên được chọn cẩn thận (256 MB, trong trường hợp đặc biệt là 512 MB).
  • Trong phần phụ trợ WordPress trong Công cụ> Trạng thái Trang web, các giá trị của memory_limit (Phần: Máy chủ), cũng như từ WP_MEMORY_LIMITWP_MAX_MEMORY_LIMIT (phần hằng số WordPress) có thể được đọc ra.
Trở lại