- Статус
- Решено
- Заявлено для
- WPML Multilingual CMS 3.1.7.2
Обзор проблемы
Может отображаться белая страница или одна из следующих ошибок при выполнении различных типов действий или при показе некоторых страниц на фронтенде:
Fatal error: Maximum function nesting level of '100' reached, aborting!Fatal error: Allowed memory size of xxxxxx bytes exhausted
В некоторых (редких и очень специфических) конфигурациях код WPML попадает в бесконечный цикл. Этот цикл будет выполняться бесконечно и потреблять память, пока не достигнет максимального выделенного лимита памяти PHP. Вы можете столкнуться с этим, если лимит памяти Вашего сервера очень высок, но она всё равно исчерпывается.
Обратите внимание, что в 99,5% случаев переполнение памяти указывает на слишком низкие лимиты памяти в PHP. Эта ошибка возникает в очень редких случаях. Большинство проблем с переполнением памяти решается простым увеличением объема разрешенной памяти.
Если память Вашего сервера установлена на очень высоком уровне, но всё равно исчерпывается, Вы можете применить патч, предложенный здесь. Обратите внимание, что это требует редактирования файла в WPML. Вскоре мы выпустим бета-версию, в которой эта и другие проблемы решены.
Обходное решение
Это исправление основано на версии 2.0.9.1 WPML Перевод строк.
Мы рекомендуем дождаться следующего обновления плагина, но если Вам нужно быстрое решение и у Вас достаточно навыков для редактирования файлов плагина, выполните следующие действия:
- Откройте файл *wp-content/plugins/wpml-string-translation/inc/functions.php*.
- В строке 2940 замените это:
WPML_Config::load_config_run();
на это:remove_action('update_option', 'update_option_to_translate_string', 5);
WPML_Config::load_config_run();
add_action('update_option', 'update_option_to_translate_string', 5, 3); - Сохраните