Можете ли вы ограничить использование памяти конкретным плагином?
Я знаю, что можно ограничить (или расширить) использование памяти всего сайта WP, используя:
define('WP_MEMORY_LIMIT', '64M')
Можно ли сделать то же самое только для одного плагина, который использует веб-сайт?
2 answers
Нет, и даже если бы вы могли, если бы у плагина закончилась доступная память, то вся генерация страниц остановилась бы из-за фатальной ошибки.
Вам лучше исправить сам плагин, чтобы не использовать так много памяти или просто еще больше увеличить общий объем памяти, выделенный для WordPress/PHP.
Вообще говоря, нет, это невозможно только для конкретного плагина. Плагин работает во всем процессе PHP wordpress (обычно), и поэтому он разделяет настройку ограничения памяти с остальными.
Однако вы можете попытаться ограничить объем памяти перед каждым вызовом плагина. Это было бы до любого крючка (это возможно), а затем в начале до включения (этого гораздо сложнее достичь).
Определение WP_MEMORY_LIMIT
, кстати, перезаписывается, так что установка этой константы на что-то нецелесообразна, если вы действительно хотите ограничить память.
Если вы не боитесь иметь дело с внутренними компонентами системы, вы, однако, можете правильно ограничить память для всего процесса, а также, если вам нравится эксперимент, вы можете дать runkit попробовать и выполнить код плагинов в нем - как-нибудь.