Όριο μνήμης στο 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 αν είναι multisite,
    • 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 άλλαξε στο backend (πιο συγκεκριμένα: όποτε η συνάρτηση wp_raise_memory_limit() καλείται σε διαφορετικά περιβάλλοντα [διαχειριστής, εικόνα]) χρησιμοποιώντας τη συνάρτηση 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 τίθεται σε ισχύ στο backend.
  • Μεγάλο μέρος της λογικής που περιγράφεται παραπάνω λειτουργεί wp_initial_constants() (/wp-includes/default-constants.php) όπως λέμε wp_raise_memory_limit() (/wp-includes/functions.php) αντί.
  • Η αξία memory_limit = XXXM σε php.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).
  • Στο backend του WordPress στην περιοχή Εργαλεία > Κατάσταση ιστότοπου, οι τιμές του memory_limit (Ενότητα: Διακομιστής), καθώς και από WP_MEMORY_LIMIT και WP_MAX_MEMORY_LIMIT (ενότητα WordPress σταθερές) μπορεί να διαβαστεί.
Πίσω