Minnesgräns i WordPress

tl;dr: Manuellt inställt värde eller standardvärdena för WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT har ingen effekt om WP_MEMORY_LIMIT/WP_MAX_MEMORY_LIMIT mindre än eller lika med minnesgränsen för PHP (nedan memory_limit kallas) är. De används för att ställa in för låga värden på memory_limit dynamiskt till ett rekommenderat minimum.


  • Konstanten WP_MEMORY_LIMIT kan valfritt in wp-config.php med define('WP_MEMORY_LIMIT', 'XXXM'); ställas in.
  • Konstanten WP_MAX_MEMORY_LIMIT kan valfritt in wp-config.php med define('WP_MAX_MEMORY_LIMIT', 'XXXM'); ställas in.
  • Är WP_MEMORY_LIMIT inte inställt, gäller dess standardvärde:
    • memory_limit, förutsatt att värdet av memory_limit kan inte ändras dynamiskt,
    • 64 MB om det är en multisite,
    • 40MB annars.
  • Är WP_MAX_MEMORY_LIMIT inte inställt, gäller dess standardvärde:
    • memory_limit, förutsatt att värdet av memory_limit är inte dynamiskt föränderlig eller om den är obegränsad (-1) eller större än eller lika med 256 MB,
    • 256 MB annars.
  • Standardvärdena har höjts om och om igen tidigare.
  • WP_MEMORY_LIMIT ändras överallt med funktionen ini_set() dynamisk memory_limit, om WP_MEMORY_LIMIT större än den nuvarande memory_limit eller när WP_MEMORY_LIMIT är obegränsad (-1).
  • WP_MAX_MEMORY_LIMIT ändras i backend (mer exakt: närhelst funktionen wp_raise_memory_limit() anropas i olika sammanhang [admin, bild]) med funktionen ini_set() dynamisk memory_limit, om WP_MAX_MEMORY_LIMIT större än den nuvarande memory_limit eller när WP_MAX_MEMORY_LIMIT är obegränsad (-1).
  • Logiken i WP_MAX_MEMORY_LIMIT springer efter logiken i WP_MEMORY_LIMIT, så att WP_MEMORY_LIMIT i frontend och WP_MAX_MEMORY_LIMIT träder i kraft i backend.
  • Mycket av logiken som beskrivs ovan är i funktion wp_initial_constants() (/wp-includes/default-constants.php) som i wp_raise_memory_limit() (/wp-includes/functions.php) istället för.
  • Värdet memory_limit = XXXM i php.ini Är definierad memory_limit (efter omstart av webbtjänsten).
  • Värdet php_value memory_limit XXXM i .htaccess Är definierad memory_limit för alla PHP-filer i mappen eller dess undermapp där .htaccess belägen.
  • Webbservern kan förhindra att värdet på minnesgränsen ändras med ini_set() eller från att överskrida ett specificerat värde (se php_admin_value ).
  • memory_limit gäller per process: En ökning med memory_limit burk orsaka att antalet parallella PHP-förfrågningar minskar. Värdet bör därför väljas med omsorg (256 MB, i undantagsfall 512 MB).
  • I WordPress-backend under Verktyg > Webbplatsstatus, värdena för memory_limit (Avsnitt: Server), samt från WP_MEMORY_LIMIT och WP_MAX_MEMORY_LIMIT (avsnitt WordPress konstanter) kan läsas ut.
Tillbaka