当ブログは、WordPress Me ver 1.5.1.3 を利用しています。
とりあえず、テストで導入してみようとサブドメインを作ってインストールを試みたのですが、以下のようなエラーがでてしまい、ログインができません。
Warning: Invalid argument supplied for foreach() in
/wp-includes/capabilities.php on line 19
対策方法として、http://www.dzxr.com/blog/?p=174があるようですが、翻訳片手にやってみましたところ、正常動作とは程遠い状況でした。
このサーバの環境は、windows2000 server + apache 2.0.55 + php 4.4.1 + mysql 4.0.20a-nt と特殊なため、通常の upgrade.php ではアップグレードもうまくいかないようです。
とりあえずアップデートさせる事だけはできましたが、運用上支障があったため、あくまで情報という形で記載しておきます。この方法を用いて移行をしても、うまくいかない可能性が高いので、あくまでDo it Yourself (自己責任)でお願い致します。
ちなみに、動作させた状態のテストサイトは
http://test.nakoruru.jp/ です。
まず、既存のデータの入っている databaseを複製します。windowsであれば、かねやんMySQLAdminを使えば簡単に複製できますが、もしphpmyadminを利用するのであれば、メニューから利用しているデータベースをエクスポートしてから、エディタで開き適当な名前に置換してください。
だいたい最初は、こんな感じになってると思います。
CREATE DATABASE `wp_sample`;
USE wp_sample;これを
CREATE DATABASE `wp2_sample`;
USE wp2_sample;こんな感じに書き換えてください。
そしたら、クエリーウインドウからファイルをインポートするなりしてください。詳しくは記載しません。(間違えて、元データが消えても知りませんヨ)
次、既存のアップロードしてあるwordpress関係のファイルをすべてダウンロードし、バックアップを取ります。自分のサーバならディレクトリ名を変えてもokです。そうしたら、既存のファイルは一旦すべて消してください。そこにWordPress Me 2.0.2のファイルをすべてアップロードします。
後は通常のセットアップウィザードで、wp-config.php を作るのですが、データベースは wp2_sample を使ってください。 wp_sample を使うと取り返しのつかない事になります。いや、なるんだけどひたすらめんどい事になります。
で、肝心なのは、一番下のエンコードを「EUC-JP」でセットアップしてください。UTF-8で運用していても、EUC-JPでインストールします。そのままウィザードを進んでいくと、「すでにDBが存在します。」というエラーで止まると思います。
そうしたら、http://********.jp/wp-admin/upgrade.php を実行して、古いDB形式を新しい形式にアップデートします。これは普通に終了するはずです。
後は、wp_config.php をダウンロードし、以下を書き換えます。
define (‘WPLANG’, ‘ja_EUC’);
mb_internal_encoding(“EUC-JP”);
を
define (‘WPLANG’, ‘ja_UTF’);
mb_internal_encoding(“UTF-8”);
に書き換えます。
以上でアップグレードは完了! したように見えます。
が。オプション -> 一般設定 -> 「新規ユーザーに付与する権限:」が文字化けしていたり、ユーザー情報の変更が効かなかったりと、不具合がでてしまいます。通常通り投稿したりするだけなら良いのですが・・・。
なので、自分は1.5.1.3のまま運用しています。
なこなこは、サブドメインやインストールなどを導入しないはずだったの。