Hukommelsesbegrænsning i WordPress

tl;dr: Manuelt indstillet værdi eller standardværdierne for WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT har ingen effekt hvis WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT mindre end eller lig med hukommelsesgrænsen for PHP (i det følgende memory_limit kaldet) er. De bruges til at indstille for lave værdier af memory_limit dynamisk til et anbefalet minimum.


  • Konstanten WP_MEMORY_LIMIT kan eventuelt ind wp-config.php med define('WP_MEMORY_LIMIT', 'XXXM'); blive indstillet.
  • Konstanten WP_MAX_MEMORY_LIMIT kan eventuelt ind wp-config.php med define('WP_MAX_MEMORY_LIMIT', 'XXXM'); blive indstillet.
  • Er WP_MEMORY_LIMIT ikke indstillet, gælder for dens standardværdi:
    • memory_limit, forudsat værdien af memory_limit kan ikke ændres dynamisk,
    • 64 MB, hvis det er en multisite,
    • 40MB ellers.
  • Er WP_MAX_MEMORY_LIMIT ikke indstillet, gælder for dens standardværdi:
    • memory_limit, forudsat værdien af memory_limit kan ikke ændres dynamisk, eller hvis den er ubegrænset (-1) eller større end eller lig med 256 MB,
    • 256 MB ellers.
  • Standardværdierne er blevet hævet igen og igen tidligere.
  • WP_MEMORY_LIMIT ændret overalt ved hjælp af funktionen ini_set() dynamisk memory_limit, hvis WP_MEMORY_LIMIT større end den nuværende memory_limit eller hvornår WP_MEMORY_LIMIT er ubegrænset (-1).
  • WP_MAX_MEMORY_LIMIT ændret i backend (mere præcist: når funktionen wp_raise_memory_limit() kaldet i forskellige sammenhænge [admin, billede]) ved hjælp af funktionen ini_set() dynamisk memory_limit, hvis WP_MAX_MEMORY_LIMIT større end den nuværende memory_limit eller hvornår WP_MAX_MEMORY_LIMIT er ubegrænset (-1).
  • Logikken ved WP_MAX_MEMORY_LIMIT løber efter logikken i WP_MEMORY_LIMIT, så det WP_MEMORY_LIMIT i frontend og WP_MAX_MEMORY_LIMIT træder i kraft i backend.
  • Meget af logikken beskrevet ovenfor er i funktion wp_initial_constants() (/wp-includes/default-constants.php) som i wp_raise_memory_limit() (/wp-includes/functions.php) i stedet for.
  • Værdien memory_limit = XXXM i php.ini er defineret memory_limit (efter genstart af webtjenesten).
  • Værdien php_value memory_limit XXXM i .htaccess er defineret memory_limit for alle PHP-filer i mappen eller dens undermappe, hvori .htaccess befinde sig.
  • Webserveren kan forhindre værdien af ​​hukommelsesgrænsen i at blive ændret med ini_set() eller i at overskride en specificeret værdi (se php_admin_value ).
  • memory_limit gælder pr proces: En stigning på memory_limit kan få antallet af parallelle PHP-anmodninger til at falde. Værdien bør derfor vælges med omhu (256 MB, i undtagelsestilfælde 512 MB).
  • I WordPress-backend under Værktøjer > Hjemmesidetilstand, værdierne af memory_limit (Afsnit: Server), samt fra WP_MEMORY_LIMIT og WP_MAX_MEMORY_LIMIT (afsnit WordPress konstanter) kan udlæses.
Tilbage