1) ローカル環境で、アップグレードの動作を確認。特に問題無さそう。
2) 本番環境の MySQL のレベルが 4.1.2以上が必要条件になり要件を満たしていなかったので、MySQL を MySQL 5にアップグレードする事にする。
WordPress | 日本語 » WordPress 2.9 日本語版リリースのお知らせ
3) このブログは ロリポップのサーバーを使用しているので、指示に従って My SQL 5にアップグレード。
移行の操作がかなり自動化されていて、ガイドを良く読めばそれほど難しくなかった。
MySQL5への移行 / ユーザー専用ページ / マニュアル - ロリポップ!
既存の DBのコピーの My SQL5版が他のサーバーに作られる。10日間の猶予期間の間は、2つのDBが同時に使える状態になる。最終的にどちらを使うか選択する必要がある。
DBのコピーは、10.5 MByte サイズだったが、ほんの数秒だった。
DB名とDBサーバーが変更になるので、WordPress ユーザーは、WordPress の DB接続設定を変更する必要がある(これはダッシュボードからできないので、wp-config.php を直接編集する)。
これも以下のガイドを読んで実行すればそれほど難しくなかった。
MySQL5への移行 / ユーザー専用ページ / マニュアル - ロリポップ!
4)本当は、ファイルと DBのバックアップを取るところだが、今回も手抜きをして、自動アップグレード --;
10秒くらいで完了。
formatting.php の修正
自動的に、“(ダブル・クォーテーション)や’(シングル・クォーテーション)が全角になってしまう対策として、以下の対策を行った。
wp-includes ディレクトリにある formatting.php の 86行目の preg_replace の行をコメントアウト
if ( !empty($curl) && '<' != $curl{0} && '[' != $curl{0}
&& empty($no_texturize_shortcodes_stack) && empty($no_texturize_tags_stack)) {
// This is not a tag, nor is the texturization disabled
// static strings
$curl = str_replace($static_characters, $static_replacements, $curl);
// regular expressions
// $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
} elseif (!empty($curl)) {