- Status
- Resolvido
- Relatado para
- WPML Multilingual CMS 3.1.7.2
Visão geral do problema
Uma página em branco ou um destes erros pode ser exibido ao realizar diferentes tipos de ações ou ao mostrar algumas páginas no front-end:
Fatal error: Maximum function nesting level of '100' reached, aborting!Fatal error: Allowed memory size of xxxxxx bytes exhausted
Em algumas configurações (raras e muito específicas), o código do WPML entra em um loop infinito. Esse loop será executado para sempre e consumirá memória até atingir o limite máximo de memória alocada do PHP. Você pode estar enfrentando isso se o limite de memória do seu servidor for muito alto e ainda assim se esgotar.
Observe que, em 99,5% dos casos, os estouros de memória indicam limites de memória muito baixos no PHP. Esse bug é acionado em casos muito raros. A maioria dos relatos sobre estouro de memória é resolvida simplesmente aumentando a quantidade de memória permitida.
Se a memória do seu servidor estiver configurada como muito alta e ainda assim se esgotar, você pode aplicar o patch sugerido aqui. Observe que isso exige a edição de um arquivo no WPML. Lançaremos uma versão beta em breve, que resolveu este e outros problemas.
Solução alternativa
Esta correção é baseada na versão 2.0.9.1 do WPML Tradução de Strings.
Recomendamos aguardar a próxima atualização do plugin, mas se você precisar de uma correção rápida e tiver conhecimento suficiente para editar os arquivos do plugin, siga estas instruções:
- Abra o arquivo *wp-content/plugins/wpml-string-translation/inc/functions.php*.
- Na linha 2940, substitua isso:
WPML_Config::load_config_run();
Por isso: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); - Salve