Nov 26th, 2009

WordPress 2.8.6 update problem on Ubuntu 9.10

OS変更に伴い一緒にWordPressのアップデートもやってしまおうと、前回通り管理メニューから、アップグレードを行おうとすると以下のメッセージが表示され、失敗する。
Missing zlib extensions

確認のために、phpinfo()で確認すると確かにzlibは導入されていて、おかしいところは見つけられなかった。
それで、検索キーワードを ubuntu wordpress "Missing zlib extensions" としてみたら、そのものズバリなURLが・・・orz

Bug #439407 in php5 (Ubuntu): “Abort class-pclzip.php : Missing zlib extensions”
Bug #451405 in php5 (Ubuntu): “zlib extension missing in php5 karmic ”

下の方のURLにある以下のコマンドを実行してみた。

 $ php -r 'var_dump(function_exists("gzfile"));'  
 bool(true)  
 $ php -r 'var_dump(function_exists("gzopen"));'  
 bool(false)

すると、予想通り。

その後ローカルのVMの同じUbuntu9.10の方で実行してみた。

 $ php -r 'var_dump(function_exists("gzfile"));'  
 bool(true)  
 $ php -r 'var_dump(function_exists("gzopen"));'  
 bool(true)

実行結果が違う(;´Д`)
これはアップデートが出来てないって事で、/etc/apt/source.list を確認してみると・・・

deb http://us.archive.ubuntu.com/ubuntu/ karmic main restricted  
deb-src http://us.archive.ubuntu.com/ubuntu/ karmic main restricted  
deb http://security.ubuntu.com/ubuntu karmic-security main restricted  
deb-src http://security.ubuntu.com/ubuntu karmic-security main restricted  

updateが無い..orz
ということで、以下のコードを追加。

deb http://us.archive.ubuntu.com/ubuntu/ karmic-updates main restricted  
deb-src http://us.archive.ubuntu.com/ubuntu/ karmic-updates main restricted  

そして

 $ sudo apt-get update && sudo apt-get upgrade

予想通り、phpのアップデートがあったので、適用。
apacheを再起動

 $ sudo service apache2 restart

そして、念のため確認。

 $ php -r 'var_dump(function_exists("gzfile"));'  
 bool(true)  
 $ php -r 'var_dump(function_exists("gzopen"));'  
 bool(true)

両方とも結果OK。

その後、WordPressの管理メニューからアップグレードを実行したら、めでたくすんなり実行できました。