Urderbrunnrのcamriさんにプラグインのバグレポートをもらったので、早速修正にかかってみるもののなぜか再現できず。とりあえず、症状から不具合の勘所は分かったものの、再現してから修正をかけないと何か気持ち悪いのでなるべく同じ環境を作ってみることにしました。
camriさんのところのphpinfoを見る限りでは、PHP5を使っておられるようなのでこの際だからとうちもPHP5にしてみることにしました。これが間違いの始まり。PHP5自体はPHP4と同じconfigureオプションでビルドできたし、Apacheへの組み込みも問題ありませんでした。思ったよりすんなりできたのであとはNucleusだけと思ったんですが、肝心のNucleusがちゃんと動いてくれませんでした。ログを見たらこんなエラーを吐いていました。
error_log
† 日本語版Nucleus 3.22 != 本家Nucleus v3.22
で、本家のフォーラムを検索してみるとビンゴなトピックを発見。
「My nucleuscms ERROR, happened in "libs\BLOG.php"??」
これによれば、PHP5でNucleusを動作させるには、BLOG.phpを3箇所とADMIN.phpを1箇所、install.phpを1箇所修正しないといけないようです。そういえばどこかでNucleusはPHP5対応ということを聞いたことがあったはずなので、本家版のv3.22をダウンロードして確認してみると修正はcoreに取り込まれていました。
ウチのファイルが古いんだろうかと、現在の開発の最新版だと思われるSFのCVSをチェックしてみたんですが、これらの修正は取り込まれた様子はありませんでした。ということで、日本語版のv3.22はPHP 5.0.5対応にはなっていないようですね。この件はpatchを作って、フォーラムでフィードバックした方がいいんだろうなぁ。
上記は僕の確認のミスでしたので訂正します。日本語版のv3.22にもちゃんと取り込まれていますので、PHP5.0.5でもちゃんと動作します。
camriさんのインストールレポートを読む限りではこのあたりのことには触れていないので、そのあたりがどうなっているのかもちょっと気になる・・・・・
† うちの対応
とりあえず、うちはモジュール版のPHP4とCGI版のPHP5を併用することにしました。
cles::blogはしばらくは安定重視なのでしばらくはPHP4で動かします。別途作ってあるテスト環境についてはCGI版のPHP5を使っていこうと思います。しばらく使ってみて不具合が出なければ、どこかのタイミングでPHP5に移行しようかなと思っています。
さっそくcamriさんの現象が再現できてちょっとうれしい。プラグインはこれから、デバッグします。
日本語版ですが、本家 v3.22 コードは全部取り込み済みのはずで、日本語 cvs は 3.2用ブランチにチェックインしてあります。メインの方はまだなので、たぶんそっちを見たんではないかと思います。
手元のテストマシンに php 5.0.5 いれて試してみました。v3.21 日本語版は動きませんが v3.22 日本語版であれば動くようです。実際ソースも本家フォーラムで指摘されてるような修正がされてました。一応ご報告まで。
Kimitakeさん
いろいろありがとうございます。CVSはずっとHEADを追いかけていただけで、ブランチを確認していませんでした。確かにブランチには3.22用のコードが反映されていますね。
僕の早とちりだったようです。失礼しました。
いえいえ、本来であればメインにも随時コミットしていくべきなんです。でも手が回らなくて後回しになってます。ってかあまり cvs の利用者いないのかなぁ~ってタカくくってました ^^;精進いたします。
そうですね。Nucleus関連の方々でcvsを使っているのは小数派ですよね。
本当はプラグイン開発もSFでやるべきかなと尾一時期思っていたんですが、Kimitakeさんと同じような感じで結局プライベートなcvsを使うまままになっています。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。