どうも、PHPのバージョンを5.4系列に上げた後から、
日記のコメント機能が使えなくなっていた様子。
表示だけできるようにお手盛りで直したのだけれど、コメントは未チェックだった。

もともと、単なる日記なのでコメントがつくことも稀なのだけれど、
先日のアップローダに画像でコメントつけてくれた人がいたので、
なーんか変だなぁ……
とは、薄々思っていたのである。

何の気なしにテストで自分でコメントつけようとしたら、
チェックボックスが足りないのに気がついて、ここで初めてあれ?と。

幸いなことに、PHP5.4対応のNucleusが出ていたので早速入れ替え。
.htaccessが書き換えられて、Order allow,deny あたりで500エラー吐いてるのを
Requireで書き換えて、コメントつけてみて無事に動くことを確認。

アレだね、コード書き換えたときはテストしないといけないね。
という、当たり前の事実を今更ながらに反省する。

以前、php-5.4.0が出た時に一度乗り換えを検討というか、動かしてみたのだけれど、
自前のセッション管理用のクラスが動かない(Sessionって名前の重複らしい)んで、
即諦めた経緯がある。
名前の重複なので、別の名前を使ってやれば通るとは思ったのだけれど、
特に5.3.x系で困ってなかったので後回しにしていた。

が、POSTでのファイルアップロードの進捗状況を知りたい事情ができ、
PHP5.4以降だと、セッションを使ってアップロードの進捗を知ることができる事を知る。

これは入れるしかあるまい。
という訳で、5.4系列に更新してみた。

PHPのバージョン更新は、APC周りのバグが有ったり、互換性が消えたりと、
割りと鬼門なのだけれど、今回はBlogで使ってるNucleusが動かなくなった。

とりあえず、APCを切ってみたのだけれど、事象が改善しない。
「Nucleus」「php5.4」でGoogle様にお伺いを立てると、
そのものズバリな事象が。

正確な対処はNucleus4.0が出てから、ということなので、とりあえず動くようには修正。
上記のスレッドではこの修正も筋が悪いもののようなので本当に暫定対処だけれども。

Sessionのクラス名でエラーが出ると思って予めクラス名を書き換えていたのだけれど、
その後実験した所、重複で怒られなくなっていたので直ったらしい。
という訳で、再書き換えして元のソースに戻す。

この修正やってた時間帯に臨時用2ch串使ってた人はなんか怪しい画面を見たかもしれない。

手持ちの仮想環境のメンテをしようとVMware Playerを起動したら、
VMware Player のバージョンアップのお知らせが届いたので、じゃあついでに上げてしまおうか。
と、考えて作業を開始したのが02:00.
この間、yum update やら、 portsnap やら freebsd-update やらを実行して、
VMware Playerの5.0のインストールをして、VMware-toolsの更新をして、
ディスクの最適化なんぞかけていたら、時計は4:30を回ってしまった。

あれ~、早く寝る予定はいったいどこに消えてしまったんだろうか……

朝、会社について、とりあえずスラッシュドット・ジャパンの記事をチェックしていたら、
Apache 2.4.3がリリースされていることに気がつく。

以前はApacheユーザー会の方を見ていたのだけれど、そっちは最近遅いので、
もっぱらスラッシュドットの脇のカラムのSF.JP Magazine 新着記事 を
よくチェックするようになった。
あそこのソフトウェア紹介とかはさりげなく実用度が高い。
特集はただの広告なので見る必要はないけれど。

で、更新履歴をざっと眺めた感じだと、segfault 関連で2件の修正が入っている。
うち1件はcoreの修正なので、これで毎日出てる「 exited on signal 11」が
消えてくれればいいなぁ。と皮算用。

あと、mod_proxy_http の変更も入っていて、こっちはセキュリティfixであり、
臨時用2ch串で使ってるので早々にアップデートを入れなければならない。

というわけで、サービス起動中に自前のアップデートスクリプトを動かして
バージョンアップを実施。

phpinfo(); の結果をみて、バージョンが変わっていることを確認。
konata.netで一番複雑であろうBlogの表示も確認して更新作業終了。

後はDailyのログを見るばかり

Changeログを見て、関係なさそうならすっ飛ばそうと思っていたのだけれど、
思ったより、深いところに修正が入っているっぽかったので早々に入れ替えを決断。

例によって、konata.netのphpは野良ビルドなので、
ソースをとってきて、自前のアップデートスクリプトを叩く。

更新自体は数分で完了。
Apacheの再起動で締め。
APCのバージョンもエラーにならないのを指定するようにしたので、
Blogの参照も問題なくできる。

本当はそろそろ5.4系列に上げたいのだけれど、
セッション用に作ったクラス名が、本家とダブってしまっているので、
そのまま上げると間違いなく臨時用2ch串あたりが止まるんだよなぁ……

悩ましいねぇ……