web-dev-qa-db-fra.com

Pouvez-vous limiter l'utilisation de la mémoire d'un plugin particulier?

Je sais qu'il est possible de restreindre (ou d'étendre) l'utilisation de la mémoire de l'ensemble du site WP à l'aide de:

define('WP_MEMORY_LIMIT', '64M')

Est-il possible de faire la même chose pour un seul plugin utilisé par le site?

1
Tal Galili

Non et même si vous le pouviez, si le plug-in manquait de mémoire disponible, la génération de pages entière s'arrêterait en raison de l'erreur fatale.

Vous feriez mieux de réparer le plugin lui-même pour ne pas utiliser autant de mémoire ou simplement pour augmenter davantage la mémoire totale allouée à WordPress/PHP.

3
Viper007Bond

De manière générale, non, ce n'est pas possible pour un plugin en particulier. Le plugin s'exécute dans l'ensemble du processus wordpress PHP (normalement) et partage donc le paramètre de limite de mémoire avec le reste.

Vous pouvez cependant essayer de limiter la mémoire avant chaque appel du plugin. Ce serait avant tout crochet (c'est possible) et ensuite au début avant l'inclusion (c'est beaucoup plus difficile à réaliser).

La définition de WP_MEMORY_LIMIT est écrasée au passage. Il est donc inutile de définir cette constante sur une valeur quelconque si vous souhaitez réellement limiter la mémoire.

Si vous ne craignez pas de traiter avec les internes du système, vous pouvez cependant limiter correctement la mémoire pour l'ensemble du processus et, si vous l'aimez à titre expérimental, vous pouvez donner runkit a essayer et exécuter le code des plugins qui s'y trouvent - d’une manière ou d’une autre.

1
hakre