2008年4月14日

WordPress ME 2.2からWordPress 2.5へアップグレードしました。

アップグレードは、次のような流れで実施しました。

  1. DBデータとファイル一式バックアップ
  2. ローカル環境に本サイトのDBデータとファイル一式を使用した環境を構築
  3. ローカル環境でアップグレードのチェック
  4. 本サイトに新しいDBを作成し、ローカル環境でチェックしたDBデータをインポート
  5. 本サイトのファイルをローカル環境でチェックしたものと入れ替える

ローカル環境と本サイト間で、mysqlデータのインポート/エクスポートするときは、ダンプしたsqlファイル内のURLやファイルパスを置換しました。

だいたいうまくいったようでしたが、本サイトの管理画面のダッシュボードにアクセスすると、何も表示されない状態でした。

PHPのエラーを表示するため、wp-adminディレクトリの.htaccessにphp_flag display_errors "On"を記述して、ダッシュボードにアクセスすると、次のようなエラーが表示されました。

Fatal error: Cannot use string offset as an array in [略]wp-admin/includes/dashboard.php

WordPress › Support » 2.5 - Fatal Error: Cannot use string offset as an array, line 46 dashboard.phpを参考に、DBのデータを削除しました。

SQL:
  1. SELECT * FROM wp_options WHERE option_name='dashboard_widget_options';

"dashboard_widget_options"に対応する行が1行しかないことを確認して、その行を削除。

SQL:
  1. DELETE  FROM wp_options WHERE option_name='dashboard_widget_options';

これでダッシュボードは表示されました。
その他もいまのところ問題ないようです。

PHP4.4.8をソースからインストールしたときのエラーとその回避方法です。

make installしたところ、次のようなエラー(抜粋)がでました。

chmod: cannot access `/usr/local/apache2/modules/libphp4.so'

php4 apxs:Error: Command failed with rc=65536

make: *** [install-sapi] エラー 1

最初、.conigureを次のようにしていました。

./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/usr/mysql \
--with-config-file-path=/etc/php \
--enable-mbstring \
--with-zlib \
--with-gd \
--with-libmbfl \
--enable-pcntl \
--with-openssl \
--with-jpeg-dir=/usr/local/lib \
--with-png-dir=/usr/lib \
--with-dom \
--enable-exif \
--enable-mbregex \
--without-pear \
--enable-gd-native-ttf \
--with-freetype-dir=/usr/lib/ \
--with-gmp \
--enable-bcmath \
--enable-ftp

下記、参考リンクのページを参考に、.configureに--prefix=/usr/local/phpを指定しました。
すると、make installでエラーはでず、インストールできました。
いろいろ試したので、--prefixの指定でエラー回避となったのかどうかは、不明です。

./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/usr/mysql \
--with-config-file-path=/etc/php \
--enable-mbstring \
--with-zlib \
--with-gd \
--with-libmbfl \
--enable-pcntl \
--with-openssl \
--with-jpeg-dir=/usr/local/lib \
--with-png-dir=/usr/lib \
--with-dom \
--enable-exif \
--enable-mbregex \
--without-pear \
--enable-gd-native-ttf \
--with-freetype-dir=/usr/lib/ \
--with-gmp \
--enable-bcmath \
--enable-ftp

インストール環境は、VMWareのCentOS4.4です。
PHPやapacheをパッケージとしてインストールしていませんでした。

参考リンク