先日行われた WordPress 交流会で質問してみたところ大丈夫そうだったので、2.0.11 から 2.1.3 にアップグレードしました。いくつか注意点があったのでまとめておきます。
サーバーは XREA Free の s229。現時点でPHP が 5.1.5、MySQL が 5.1.11、PHP へのメモリ最大割り当て(memory_limit)は90MBです。
なお、例によって作業は自己責任でお願いします。
MySQL データの変更
現在使用しているサーバーでは phpMyAdmin による MySQL へのアクセスができます。これを使って WordPress のテーブルを見ると、すべての日本語が文字化けしてしまっていました。おそらく、UTF-8 の文字データを latin1(設定などによって変わります)に変換して処理していたのが原因と思われます。通常の使用では問題ありませんでしたが、気持ちが悪いのでアップグレードの前に修正をしました。
念のため、作業前には phpMyAdmin で全テーブルの完全バックアップをしておきます。後述する文字化けについては目を瞑ります。元に戻せればいいのです。
phpMyAdmin から単純にエクスポートすると、テーブル内の文字化けがそのままになってしまいます。プラグイン WordPress Database Backup を使ってバックアップをすると、文字化けのない SQL ファイルが得られます。ファイルには DROP TABLE
処理も含まれるため、これを phpMyAdmin でインポートすることによって、UTF-8 データに置き換えることができます。
アップグレード
基本的には、ファイルをすべて上書きしてアップグレードプログラムを走らせるだけです。配布場所からフルセットのファイル(今回の場合は wordpress-me213.zip)をダウンロードしてきて解凍。その中にある readme.html の説明に従います。
アップグレードだけでなく新規インストールの場合にも言えることなのですが、MySQL のバージョンが 4.1.x か 5.x.x の場合は、そのままだと文字化けしたりすることがあります。デフォルトの文字コードが一致していないのが原因で、私の場合は真っ白になってしまいました。
対策として、使用する文字コードを指定してやります。私は UTF-8 なので、それに合わせます。
まず、WordPressのインストール先/wp-includes/wp-db.php
を開きます。そして、次のコードを探してください。
- $this->select($dbname);
見つけたら、そのすぐ上に次のコードを追加します。これによって、MySQL に文字コードは UTF-8 を使うということを指示することができます。EUC-JP にしたい場合は、utf8 の替わりに ujis とします。
- mysql_query(”SET NAMES ‘utf8′”, $this->dbh);
なお、私の場合はアップグレード前の 2.0.x でもにも同じことをやってありました。WordPress のバージョンよりも、MySQL のバージョンに依存する問題です。WordPress 2.2 ではこの対策が標準で入るようになったため、2.2.x にアップグレードする場合はこの作業は必要ないと思います。
アップグレード後の修正
カテゴリ名
リンク(2.1 ではブログロール)のカテゴリの扱いが変更になっています。2.0 では wp_linkcategories
という専用のテーブルが使われていましたが、2.1 ではエントリーカテゴリーと同じテーブルでカテゴリを管理し、wp_link2cat
で関連付けするようになっています。
この変更をするときに問題があるようで、カテゴリ名が ??? になっていました。一般ページのサイドメニューで使われるので、カテゴリ管理ページから修正しておきます。
テーマ
テーマのファイルで wp_list_cats() を使っていて、なおかつサブカテゴリの表示をしないようににしている場合は注意が必要です。処理が変更されていて、サブカテゴリが表示されてしまいます。現時点では対策がありませんので、とりあえずコメントアウトしておきました。
この問題については、ローカル環境でアップグレードに挑んだときの記事で詳しく書いています。動作しないプラグインなどについても書いてありますので、アップグレードを行おうとしている方はそちらもご覧ください。
その他
とりあえず一通り触ってみてますが、今のところこれといって問題はないようです。拙作プラグインの AmazonLink もちゃんと動いていますし、新機能のオートセーブ機能も動いています。
このまましばらく使用を続けてみても問題がなければ、テーマの変更と問わせて 2.2 系へのアップグレードを行いたいと思っています。