wordpress2.0 to 2.1参考メモ

サーバを含めた様々な引越しが終わりました。
URLの書き換えが遅いので、
ページが表示されない時はページ更新してみて下さい。

サーバ引越しを伴うwordpress2.0 to 2.1参考メモ

必要環境
 2.1移行にはPHP 4.2以上、MySQL4.0以上が必要です。
 前のサーバはMySQL3系でダメでした。
 今は(チャレンジャーですが)PHPもMySQLも5.1系で動かしています。

私の場合
 旧サーバでSQLエクスポート
 新サーバでSQLインポート→2.1アップグレードが
 失敗したので
 旧サーバでデータ整形→SQLエクスポート
 新サーバで2.1新規インストール→SQLインポート、で成功しました。
 パーマリンクも問題ありません。

2.0系と2.1とのテーブルの違い
 ・wp_categoriesフィールド3つ追加、すべてNotNullで基本値0。
   link_count bigint(20)
   posts_private tinyint(1)
   links_private tinyint(1)
 
 ・wp_linkcategories→wp_link2catへ大幅変更。
 
 ・wp_postsフィールドタイプ追加
 post_status enum(‘publish’,’draft’,’private’,’static’,’object’,’attachment’,’inherit’,’future’)
 
文字コード 
 wordpress/PHP/MySQLなど諸々の文字コード設定は
 UTF-8で統一。テキストエディタの保存はUTF-8N。
 データベースの文字コードがUTF-8なのはすごい気になりますが!
 
 MySQLの文字コード自動認識が悪さするので、
 wp-includes/wp-db.phpの66行目あたりに
 
 mysql_query("SET NAMES utf8", $this->dbh);
 

 を追記して文字コードを強制します。

修正
 そのままだとインポートした投稿が表示されないので、
 データベースで投稿のステータスを書き換えて、投稿を表示させる。
 
 リンク(ブログロール)のカテゴリが大幅に変更されているので、
 インポートはあきらめて管理画面で新たに割り当て。

サーバ変更にともなって変わったURLなどはSQLで書き換える。
 例

 update wp_postmeta set `meta_value` = replace(`meta_value`,'旧文字列','新文字列')
 update wp_posts set `guid` = replace(`guid`,'旧文字列','新文字列')
 update wp_posts set `post_content` = replace(`post_content`,'旧文字列','新文字列')

PHP設定/.htaccess
 新サーバは初期設定が甘めだったので.htaccessで設定。

 php_flag register_globals Off
 php_flag display_errors Off
 php_flag log_errors On
 php_flag session.use_only_cookies On

Comments are closed.