WPML
ステータス
解決済み
報告対象
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内のファイルの編集が必要になる点にご注意ください。この問題やその他の問題を解決したベータ版をまもなくリリースする予定です。

回避策

この修正はWPML 文字列翻訳のバージョン2.0.9.1に基づいています。
次のプラグインのアップデートを待つことを推奨しますが、早急な修正が必要でプラグインファイルを編集するスキルがある場合は、以下の手順に従ってください。


  • ファイル*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);

  • 保存します。

すべての既知の問題 →