WordPress中的内存限制

tl;dr:手动设置值或默认值 WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT 如果没有效果 WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT 小于或等于 PHP 的内存限制(以下简称 memory_limit 称为)是。 它们用于设置过低的值 memory_limit 动态到推荐的最小值。


  • 常数 WP_MEMORY_LIMIT 可以选择在 wp-config.php 和 define('WP_MEMORY_LIMIT', 'XXXM'); 被设置。
  • 常数 WP_MAX_MEMORY_LIMIT 可以选择在 wp-config.php 和 define('WP_MAX_MEMORY_LIMIT', 'XXXM'); 被设置。
  • WP_MEMORY_LIMIT 未设置,适用于其默认值:
    • memory_limit, 提供的价值 memory_limit 不能动态改变,
    • 如果是多站点,则为 64 MB,
    • 40MB 否则。
  • WP_MAX_MEMORY_LIMIT 未设置,适用于其默认值:
    • memory_limit, 提供的价值 memory_limit 不是动态可更改的,或者如果它是无界 (-1) 或大于或等于 256 MB,
    • 否则为 256 MB。
  • 默认值在过去一次又一次地提高
  • WP_MEMORY_LIMIT 使用该功能随处更改 ini_set() 动态的 memory_limit, 如果 WP_MEMORY_LIMIT 比现在大 memory_limit 或者什么时候 WP_MEMORY_LIMIT 是无限的 (-1)。
  • WP_MAX_MEMORY_LIMIT 在后端更改(更准确地说:每当函数 wp_raise_memory_limit() 在不同的上下文中调用 [admin, image]) 使用函数 ini_set() 动态的 memory_limit, 如果 WP_MAX_MEMORY_LIMIT 比现在大 memory_limit 或者什么时候 WP_MAX_MEMORY_LIMIT 是无限的 (-1)。
  • 的逻辑 WP_MAX_MEMORY_LIMIT 运行 的逻辑 WP_MEMORY_LIMIT, 以便 WP_MEMORY_LIMIT 在前端和 WP_MAX_MEMORY_LIMIT 在后台生效。
  • 上面描述的大部分逻辑都在起作用 wp_initial_constants() (/wp-includes/default-constants.php) 如 wp_raise_memory_limit() (/wp-includes/functions.php) 代替。
  • 价值 memory_limit = XXXMphp.ini 被定义 memory_limit (重新启动 Web 服务后)。
  • 价值 php_value memory_limit XXXM.htaccess 被定义 memory_limit 对于文件夹或其子文件夹中的所有 PHP 文件 .htaccess 位于。
  • Web 服务器可以防止内存限制的值使用ini_set()更改或超过指定值(请参阅php_admin_value )。
  • memory_limit 适用于每个过程:增加 memory_limit 能够 导致并行 PHP 请求的数量减少。 因此,应谨慎选择该值(256 MB,在特殊情况下为 512 MB)。
  • 在 WordPress 后端工具 > 网站状态下, memory_limit (部分:服务器),以及来自 WP_MEMORY_LIMITWP_MAX_MEMORY_LIMIT (部分 WordPress 常量)可以被读出。
背部