WordPress ME 2.2からWordPress 2.5へアップグレードしました。
アップグレードは、次のような流れで実施しました。
- DBデータとファイル一式バックアップ
- ローカル環境に本サイトのDBデータとファイル一式を使用した環境を構築
- ローカル環境でアップグレードのチェック
- 本サイトに新しいDBを作成し、ローカル環境でチェックしたDBデータをインポート
- 本サイトのファイルをローカル環境でチェックしたものと入れ替える
ローカル環境と本サイト間で、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のデータを削除しました。
-
SELECT * FROM wp_options WHERE option_name='dashboard_widget_options';
"dashboard_widget_options"に対応する行が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をパッケージとしてインストールしていませんでした。
参考リンク
PukiWiki(1.4.7)で5MBくらいのファイルを添付しようとしたところ、アップロードできていませんでした。
plugin/attach.inc.phpでini_setしている部分(upload_max_filesize)の値を変更して試したのですが、効きませんでした。
PHP: php.ini ディレクティブ - Manualを見ると、post_max_sizeとupload_max_filesizeは、ini_setでの変更はできないようです。
次の変更でアップロードできました(PHPのバージョンは、5.2.3)。
.htaccessに次を追加。
php_value memory_limit 32M php_value post_max_size 10M php_value upload_max_filesize 10M
plugin/attach.inc.phpのPLUGIN_ATTACH_MAX_FILESIZEを変更。
define('PLUGIN_ATTACH_MAX_FILESIZE', (1024 * 1024 * 10));
responseXMLのデータを取得する部分で、4096バイトを超える文字列をFirefoxでは取得できませんでした。
IEでは問題ありませんでした。
xmldoc on Firefox - JavaScriptの方法で回避できました。
var xmldoc = o.responseXML;
if (typeof(xmldoc.normalize) != "undefined") {
xmldoc.normalize();
}
Yahoo UIのConnection Managerを使用しています。
Yahoo! UI Library: Connection Manager