他人の空似

2009 年 9 月 24 日

wordpressアップデートによる不具合?

Filed under: 未分類 — 中の人 @ 12:18 AM

このブログはwordpressというphpアプリで動いているのですが(ドメイン名のwordpressもそこから来ている)
アップデートしないとウイルスにかかると聞いて試みたところ予想外の問題に遭遇して時間をつぶしました。

以前のVerは覚えてませんが、2.8.4-jaへのアップデートによって起きた問題です。
ただ、wordpressというよりはphp側のバグにも見えるのでなんともいえない。
経緯は以下の通り。
・自動アップデート中に止まる
・そのせいなのか管理画面の表示がおかしい
・仕方ないので手動アップデートを試みる
・無事成功したが管理画面はおかしいまま
・調べてみるとCSSがtext/htmlで来ているせいだとわかる
・該当のphpファイル(wp-admin/load-styles.php)を覗けばきちんと付加しているように見える
・中途処理で上書きされていると考え、付加する処理を末尾に移してみる
・直った

問題なのは、詳しく調べてみたら中途処理による上書きではなく
単純に二回目以降のheaderでないとContent-Typeが正常に指定できないらしいという事。

以下、問題のコード
header(‘Content-Type: text/css’);
header(‘Expires: ‘ . gmdate( “D, d M Y H:i:s”, time() + $expires_offset ) . ‘ GMT’);
こうすれば動く(順番入れ替えただけ)
header(‘Expires: ‘ . gmdate( “D, d M Y H:i:s”, time() + $expires_offset ) . ‘ GMT’);
header(‘Content-Type: text/css’);
こうしても動く(無駄にheaderを呼ぶだけ)
header(‘:’);
header(‘Content-Type: text/css’);
header(‘Expires: ‘ . gmdate( “D, d M Y H:i:s”, time() + $expires_offset ) . ‘ GMT’);
ちなみに、一度目のheaderを完全に空文字で呼ぶと動かない。

原因不明、というか挙動的にまっとうな動作には見えない。
これはバグなのではなかろうか?
ちなみにサーバの仕様覗いてきたらphpのVerは5.2.5だそうです。

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress