「WordPressで学ぶPHP(2)データ構造(配列・オブジェクト)編」を発売しました。
本書は「WordPressで学ぶPHP(1)変数・制御構造編」の続編にあたり、PHPの「データ構造」(配列とオブジェクト)について解説します。
配列やオブジェクトは、頭の中で考えるだけでは、イメージがつかみにくいです。本書では図を多用して、配列やオブジェクトをなるべく分かりやすく解説することを心がけました。
Kindle本で、定価250円です。
カテゴリアーカイブを少しずつ再構築する
Movable Type 4.1以前をお使いの方の中に、「ブログ全体の再構築をすると、カテゴリアーカイブを再構築する際に、Internal Server Errorが起きてしまう」という方が、ときどきいらっしゃいます。
カテゴリの数が多い場合に、この現象が起きることがあり得ます。
Movable Type 4.2以降では、カテゴリアーカイブを少しずつ再構築することができます。
Movable Type 4.1以前を使っていて、カテゴリアーカイブの再構築時にInternal Server Errorが出る方は、Movable Type 4.2以降にバージョンアップすることで、この問題を避けることができる場合があります。
1.EntriesPerRebuildの設定
Movable Type 4.1xまでは、カテゴリアーカイブを再構築する際には、すべてのカテゴリを一気に再構築するようになっています。
そのため、カテゴリの数が多くなると、再構築に時間がかかり、CGIがタイムアウトを起こして、Internal Server Errorになることがあります。
一方、Movable Type 4.2以降では、カテゴリアーカイブを一気に再構築せず、少しずつ再構築するようになっています。
一度に再構築するカテゴリの数は、mt-config.cgiの「EntriesPerRebuild」で設定することができます。
例えば、mt-config.cgiに以下の行を追加すると、カテゴリを10件ずつ再構築することができます。
EntriesPerRebuild 10
また、mt-config.cgiでEntriesPerRebuildを指定しない場合、デフォルト値の40が使われます。
2.EntriesPerRebuildの数を小さくしすぎない
EntriesPerRebuildの数を小さくすればするほど、一度に再構築するカテゴリの数が減ります。
そのため、Internal Server Errorがより起こりにくくなります。
ただ、EntriesPerRebuildの数をあまり小さくしすぎると、再構築の際にmt.cgiが実行される回数が増えます。
そのために、再構築全体の処理時間が伸びてしまいます。
EntriesPerRebuildを設定する際には、Internal Server Errorにならない程度に、なるべく大きい数値を指定する方が良いでしょう。
3.ブログ記事アーカイブの再構築件数にも適用される
EntriesPerRebuildは、本来はブログ記事アーカイブを再構築する際に、指定した件数ずつ区切って再構築するための設定です。
例えば、「EntriesPerRebuild 10」と書くと、カテゴリアーカイブだけでなく、ブログ記事も10件ずつ再構築するようになります。
ただ、一度に再構築するカテゴリの数とブログ記事の数の最適値は、同じではないはずです。
カテゴリアーカイブの再構築の際に、一度に再構築カテゴリの数の設定は、「CategoriesPerRebuild」などの別の方法で設定できる方が望ましいと思います。
今後のバージョンでは、この点も検討していただきたいものです。