拙著「WordPress Web開発逆引きレシピ」が発売されました。
WordPressの様々なカスタマイズについて、逆引きの形式で取り上げています。
PHP 7.0での動作確認も行っています。
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で修正される予定になっています。
