5.4の罠

いよいよ( ´ω`)

PHP5.4をAPCが動かないからという理由で様子見しつつ使ってはいなかったのですが
どうやらまあまあ安定して動いているようなので入れ替えてみることに。

ところが
・PukiWikiが動かない。
・WPのテーマが動かない。

という事態に遭遇( ´ω`)
前者は5.4のRCの頃から対応している方々がいらっしゃったので
超面倒臭いんですけど、参考にしながらちまちま修正しました。
よくよく考えたらコンストラクタ一つにしても
ゆるーく書けた頃(PHP4とか)の代物なので
5.4のそこそこ一般的な手法(JavaやRubyなど)に追いついたものでは
そりゃあ動かないだろうなあと、修正しながら思ったわけで( ´ω`)

PukiWikiの方は何処まで修正したものかというのがあるので
一通り動いた段階でよしとして、あとはエラーログ見ながら修正する方針で。
あ、添付ファイルアップロード時のエラーは
親クラスのメソッドをスタティックに呼び出しているけど
メソッド定義時にはfunctionとだけしか書いていないので怒られるということのよう。多分。
なので以下のようにしてみました。

public static function datecomp($a,$b) {
    return ($a->time==$b->time) ? 0 : (($a->time > $b->time) ? -1 : 1);
}

エラーの言う通りにスタティックに定義してあげただけですが
エラーなく動いているのでよしとします(投げやり。
ここだけではなんなので
他の所もpublicを付け加えたり、varをpublicに書き換えたり、
コンストラクタを__constructに書き換えたり、
という程度には直してみました・・・。

WPのテーマはとても気に入っているのですが
残念ながらもうメンテされていないようです。
「公式テーマ以外は超ヤバイ!」という話もあるので(;´ω`)画像なのにコード呼ばれるみたいな悪い奴
変更点が複雑なようなら何かしら公式テーマでお茶を濁そうかなあと思っていましたが
今のところ1行(つか1文字)だけの変更で動いているので
それでいっかなと・・・w

という事で今は
Apache2.2+fcgi+php-fpm(5.4)+APC(3.1.13)+memcache
で定常的に使う部分では動いております。
いずれも今後は対処療法ってことで・・・。

Apache2.4にしてもいいのですが
現在の設定をすべて2.4に対応させるのが結構しんどそうなので
今回は見送り( ´ω`)
2.4からはFPMからmod_phpに戻そう!