0

Symfony2 と TWIG で KnpMenuBundle を使用しようとしています。

私の小枝テンプレートでは、メニューは次のように呼び出されます。

<div id="before"></div>
{% set myMenu = knp_menu_get('MyBundle:Builder:myMenu') %} 
{#{{dump(seeMenu)}}#}
{{ knp_menu_render(seeMenu) }}
<div id="after"></div>

対応するページを表示しようとすると、詳細なしで 500 エラーが返されます。レンダリングはその行で停止し、{{ knp_menu_render(seeMenu) }}この行を削除またはコメントするとエラーが消えます。

このエラーが原因で Apache がクラッシュします。レンダリングのテストに失敗するたびに、Apache を再起動する必要があります。

Builder クラスは問題ないように見えdump(seeMenu)ます。

knp に関する config.yml には何も追加しませんでした (ドキュメントにはオプションであると書かれています)。とにかく試してみましたが、同じ問題です。

MopaBootstrapBundle ( {{ mopa_bootstrap_menu(seeMenu) }}) を介してメニューをレンダリングしようとしましたが、同じ問題です。

Firebug は 500 エラーに関する詳細情報を提供しておらず、dev.log ファイルはあまり役に立ちません。


[編集] Apache ログには次のように書かれています。

PHP Fatal error:  Allowed memory size of 268435456 bytes exhausted (tried to allocate 130968 bytes) in /var/www/myproject/app/cache/dev/classes.php on line 3148

これにより、Apache のクラッシュが説明されます。メモリを増やそうとしましたが ( ini_set('memory_limit', '256M');) app_dev.php、問題は残ります。つまり、無限ループがどこかにあるということです...


[編集 2] いくつかの調査の結果、問題はファイルEnvironment.phpの 348 行にあるようです: dump(new $cls($this));「メモリが枯渇しました」というエラーが生成されます。

なぜ、どこをさらに調べればよいのかわかりません。別のプロジェクトで同じバージョンの TWIG (1.20) と同じバージョンの knpMenuBundle (2.0) を使用していますが、正常に動作します...


[EDIT3] 私はまだこの KnpMenuBundle を機能させることができません:/ プロジェクト全体を再インストールしようとしましたが、何も変わりません。私は完全に立ち往生していて、今何をすべきか見当もつかない..

4

1 に答える 1