WordPress 2.9.xの自動アップデートがコケる
Posted in サーバ運用 on 02/26/2010 09:01 am by nukesaku結論から言えば/var/php.iniのmemory_limitの上限を引き上げれば解決します:
[変更前]
memory_limit = 16M
[変更後]
memory_limit = 64M
(変更後は 「service httpd restart」 を実行してapacheを再起動すること。念のため)
ズボラな私は基本的に自動アップデートで済ませてしまうのですが、バージョン2.9.1以降、以下のメッセージが表示されたままウンともスンとも言わないという状態が続いていました
http://ja.wordpress.org/wordpress-2.9.1-ja.zip からアップデートをダウンロードしています。
その前後でサーバの移行などしていたためエラー原因が絞りきれず、とりあえず放置しておいた(笑)んですが、2.9.2がリリースされても同様の現象が確認されたので、とりあえず/var/log/httpd配下にあったapacheのエラーログを確認したらそのものズバリなエラーが。最初から見とけよ。
[Fri Feb 26 08:20:10 2010] [error] [client 192.168.XXX.XXX] PHP Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 2804864 bytes) in /xxx/xxx/tokiwasou.com/memo/wp-includes/http.php on line 1331, referer: http://www.tokiwasou.com/memo/wp-admin/update-core.php
要はPHP実行に必要なメモリが足りんと。どうやらサーバ移行した際にPHPに割り当てるメモリサイズ(memory_limit)を、デフォルト(16M)のまま放置しておいたのが原因のようです。33MB超のメモリを割り当てようとしてコケたみたいなのでとりあえず上記のmemory_limit=64Mで回避しましたが、このあたりのさじ加減はサーバによって異なると思うので、64Mで失敗する方は128Mでも256Mでもサーバのリソースが許す限りお好きな値をどうぞ。