web-dev-qa-db-fra.com

WP_MEMORY_LIMIT ne fonctionnait pas dans wp-config

Je souhaite définir WP_MEMORY_LIMIT pour mon site WordPress. J'utilise d'hébergement partagé et CPanel. J'ai accès à quelque chose comme la limite maximale de mémoire sur mon hôte. J'ai joint l'image associée dans ce qui suit que vous pouvez le voir:

 enter image description here 

J'ai vérifié la limite de mémoire maximale sur l'hôte par un fichier php et phpinfo(); et il est réglé sur 512M.

Mon problème est lié à la définition de WP_MEMORY_LIMIT sur le fichier wp-config.php. J'ajoute ces lignes de code pour définir ces constantes dans WordPress comme ceci:

 enter image description here 

J'ai utilisé "Affichage de l'utilisation du serveur et de la mémoire" qui affiche WP limite de mémoire et WP limite de mémoire maximale au bas de chaque page du panneau d'administration. Ce qui est étrange, c'est WP La limite maximale de mémoire est de 512 Mo mais WP La limite de mémoire est encore de 40M.

J'ai cherché cela dans les forums de débordement de pile et j'ai trouvé que je devrais le changer de default-constants.php dans le répertoire wp-includes.

// Define memory limits.
    if ( ! defined( 'WP_MEMORY_LIMIT' ) ) {
        if ( false === wp_is_ini_value_changeable( 'memory_limit' ) ) {
            define( 'WP_MEMORY_LIMIT', $current_limit );
        } elseif ( is_multisite() ) {
            define( 'WP_MEMORY_LIMIT', '64M' );
        } else {
            define( 'WP_MEMORY_LIMIT', '40M' );
        }
    }

    if ( ! defined( 'WP_MAX_MEMORY_LIMIT' ) ) {
        if ( false === wp_is_ini_value_changeable( 'memory_limit' ) ) {
            define( 'WP_MAX_MEMORY_LIMIT', $current_limit );
        } elseif ( -1 === $current_limit_int || $current_limit_int > 268435456 /* = 256M */ ) {
            define( 'WP_MAX_MEMORY_LIMIT', $current_limit );
        } else {
            define( 'WP_MAX_MEMORY_LIMIT', '256M' );
        }
    }

Je l'ai changé et cela fonctionne correctement, mais ce n'est pas une bonne méthode car chaque fois que je mets à jour WordPress, il passera à 40 Mo et je devrai le modifier à nouveau manuellement à partir de default-constants.php.

Alors, comment puis-je résoudre ce problème? Pourquoi n'a-t-il pas appliqué et fonctionné dans wp-config?

1
Mehdi Soltani

Nécessité de définir les deux constantes avant de définir ABSPATH. Juste après cette ligne dans wp-config.php

define( 'WP_DEBUG_LOG', true );
3
Piyush Rawat

C'est parce que vous devez définir ce qui précède avant /* That's all, stop editing! Happy blogging. */

Comme ça:

define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');

/* That's all, stop editing! Happy blogging. */
1
Drupalizeme

Il suffit de définir WP_MEMORY_LIMIT dans votre fichier wp-config.php et de le définir sur votre PHP mémoire actuel:

define( 'WP_MEMORY_LIMIT', ini_get( 'memory_limit' ) );

Ajoutez la ligne ci-dessus juste avant la ligne “/* C'est tout, arrêtez de modifier! Bonne blogging. */“.

0
Lucas Salinas