Movable Type 5.2ベータでDynamicMTMLを動かす

Movable Type 5.2のベータ2でDynamicMTMLのページを表示しようとすると、ページが表示されずに無限ループ状態になりました。
原因を見つけたので紹介しておきます。

Movable Type 5.2で、新たな環境変数として「BulkLoadMetaObjectsLimit」が追加されています。
この環境変数の詳細は調べていませんが、名前からすると、カスタムフィールドの読み込みを高速化する処理で使われていると思われます。

Movable Type本体(Perl)では、この環境変数の初期値が100に設定されています。
ところが、ダイナミックパブリッシング(PHP)では、初期値が設定されていません。

ダイナミックパブリッシング関係の処理の中で、この値を繰り返し回数のカウントに使っている箇所があります。
しかし、初期値が設定されていなくて0とみなされたために、カウントが更新されず、無限ループが起こっていました。

mt-config.cgiに以下の行を追加すれば、PHPでもこの環境変数の値が100になり、DynamicMTMLが動作するようになります。

BulkLoadMetaObjectsLimit 100

ちなみに、原因を見つけてからFogBugzを見てみると、すでにこの件について報告がなされていました。
ベータ3で修正される予定になっています。

MT Cloud Starter Kit
Movable Typeのプラグイン集「MT Cloud Starter Kit」をぜひご利用ください