WordPress 1.5.1.3 -> 2.0.2 移行トラブル


当ブログは、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のまま運用しています。

WordPress 1.5.1.3 -> 2.0.2 移行トラブル” への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。