日本語ローカライズされたWordPress3.0にアップグレードしました。ちと難航したのでメモ。
そもそもWordPressには、管理画面からのクリック一発でアップグレードする機能があるのはご存知かと。まずはその機能がうまく機能しませんでした。
http://ja.wordpress.org/wordpress-3.0-ja.zip からアップデートをダウンロードしています。
のまんま、ウンともスンとも云わない動かない。調べてみると、どうやらメモリが足りないらしい。ZIPを解凍する部分か、それともファイルを差し替えるにあたってのテンポラリーか。いまとなっては不明。
その対処として、wp-settings.php
define('WP_MEMORY_LIMIT', '16M');
を
define('WP_MEMORY_LIMIT', '32M');
に変更。
無事、アップグレード完了……。
と思わせつつ、管理画面にアクセスすると真っ白。たぶんPHPのエラーだろうと想定し、wp-config.phpに次の1行を挿入。
define('WP_DEBUG', true);
出る出るエラーwww
Noticeは無視して、Warningを探してみたところ、
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 368640 bytes) in /var/www/*****/wp-admin/menu.php on line 214
ってオイ!まだメモリ足りねーのかよ!?
またwp-settings.phpかぁーと思いつつ、ファイルを開いてみたところ、メモリに関する設定が消えてる……。あわわ。どこで設定するのよ!と思いつつ、探してみるのも面倒なので、.htaccess側で対応。PHPの設定を確認したら現在のmemory_limit:16M。
wp-admin/.htaccessを設置して、
php_value memory_limit 32M
よし。まだエラー。まだ足りない。
php_value memory_limit 64M
これで対応完了。無事管理画面にもアクセスでき、このエントリーを書いている次第です。
つか、メモリ食い過ぎなんじゃね?大丈夫かよ……。
wokamotoさんという親切な方からのタレコミ。
wp-settings.phpにあったdefine('WP_MEMORY_LIMIT', '32M');
は消えているけど、機能としてはまだ有効らしい。で、言われた通りにwp-config.phpにdefine('WP_MEMORY_LIMIT', '64M');
と記述して、.htaccessからはmemory_limit 64M
を削除。
この状態でバッチOK。このエントリーのこの追記も無事かけてます。なんだ、結局コレだけだったんじゃん。
</追記>
余談ですが、wp-settings.php のWP_MEMORY_LIMITを変更すればいいとわかるまでにいろいろ思考錯誤してたんですよねー。
で、その試行錯誤を繰り返してたんで、「アップデートをダウンロードしています」でとまったらすぐにページを移動してたんですよね……。それがマズかった。WP_MEMORY_LIMITを変更してうまく行っているのに気付かずに、別のページに移動してしまったもんだから、アップデートが途中で止まってしまい、2.9のファイルと3.0のファイルが混在する状態になってしまって。
手動で3.0にアップデートしたんだけど、これまたやっぱり管理画面真っ白だし、Allowed memory size of 33554432って怒られた時点で泡吹いて、なんじゃこりゃーーー!!って。
最終的にとった手段が、ローカルにあった2.9系のファイルでぜーーーんぶ上書きして。
メモリの設定変更して。
管理画面からアップデートして。
と無駄な工程を踏んでしまいました。
みなさまご注意のほど。