「WordPressで学ぶPHP(4)通信編」を発売しました。
本書は、「WordPressで学ぶPHP(1)変数・制御構造編」「WordPressで学ぶPHP(2)データ構造編」「WordPressで学ぶPHP(3)関数編」の続編にあたり、Webブラウザとサーバー(PHP)との通信と、PHPから他のサーバーに通信することについて解説します。
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で修正される予定になっています。