キャッシュのキーが共通なので、xcache for wordpressを入れたりしてキャッシュを効かせる状態だと複数blogを入れられないようだ、という話。
もともとWordPressは複数のblogを管理することが考えられていない。公式のやり方はあるが、DB名かテーブル名がぶつからないように気をつけながら複数のツリーを持つという、鈍くさい方法。本来はWordPress MUというちょっと互換性のないプロジェクトが担当している。
しかし工夫はできるはず、と思い、このへんを検索してシンボリックリンクと$table_prefixを使えばけっこう楽にできるなぁと当たりをつけていた。
試しにやってみる。
##
ln -s wordpress testblog
##
vi wordpress/wp-config.php
(REQUEST_URIを見て$table_prefixを切り替えるように変更)
そしておもむろにtestblog/wp-admin/install.phpにアクセスすると、すでにインストールされている、というお達し。おかしいなぁと思ってheader(“X-TP: $table_prefix”);として確認してみたが、$table_prefixは正しく設定されている。しかしテーブルがないのにインストール済みという。is_blog_installed()のソースを見ていくと、キャッシュに当たっているためのような気もする。