なんとJoomla!1.5.4だった。たまには、見なきゃいけない。(チェックしろよって感じですか)
最近、PHP5のみでWindowsローカルは、PHP4をデフォルトにしていたのが原因だが、ローカルだと携帯のチェックができない。もちろん、そのように設定すれば良いが、自分の主に使っているPCをサーバーとしてさらけ出すのはあまり気持ちよいものではないので、できればしたくない。ということでUbuntuマシンをサーバーにして開発環境で使うようになったのと、WindowsでチェックしているとLinux環境、一般のレンタルサーバーとよく似た環境のチェックができないのでは無いか(何が違うか?違いが無いわけじゃない)と考えたからです。
でも、その逆もあってやっぱり両方のチェックが必要だ。もちろんそれを見越して書いていけば問題ないが、やはり抜けもあれば漏れもある。
で、久しぶりにWindowsローカルで展開してみると、応答速度の速さにめげました。Ubuntuやめようかと(うそ)。
でるわでるわ、Notice エラーに Warning。 ログインできない。
まあ、これは、error_reportingが “E_ALL | E_STRICT”になっているので現在のJoomla!1.5ではPHP4をサポートしているので仕方がない。error_reporting を “E_ALL”にして正常動作。但し、Joomla!1.5.15の差分を適用したものでのみです。(まだエラーがあるかもしれないが・・・)
さらに、問題が発生。これは、予想していなかったというか忘れていた。AjaXplorerが動かない。
こりゃ困った。
開発環境を先行していくのは良いが、一般的には、PHP5.3以下でPHP4の方もいるだろう。とりあえず、Ubuntuでの開発環境は、PHP5.3にしたが、Windowsローカルはそのままにしているので確認しようと思えばできなくはない。さらに、切替もできるので大丈夫と思っている。(切替たくは無いが・・・) だが、動かしているのは、Joomla!だけではない、Joomla!1.0もあれば、phpBB、WordPress・・・・いろいろある。まだ、Joomla!1.5しか見ていないがおそらく同様の問題が起こると思う。
Joomla!1.5.15でPHP 5.3への対応がされそうなので、うちのエクステンションもPHP 5.3を前提にしようと思っています。と言ってもPHP5.3をサポートすると言う意味でJContentPlusのようにPHP5のみと書いている物以外はPHP4でも使えるわけですが。
開発用のプロジェクトのInterpreterをPHP5.3に切替中です。
テストバージョンの1.5.15をダウンロードして比較してみるとたいした差はなく、一様にeregi関数の置き換えばかりが目につくだけで他はバグ修正がほとんどのようでした。さほど大変そうではない。
とっても大きな違いは、PHP4をサポートしないようです。現在PHP4以下のサーバーで運用中の人はアップグレードできません。(当然か)そして Legasyモードが無くなるようです。レガシーなエクステンションが使えなくなるので1.6が、公開されてもなかなかアップグレードできない方が多くなるのではと思います。
うちのサーバーは、PHP4と5を切替でき現在、PHP5を使っているので問題ありません。レガシーなエクステンションは、私としては使わない方が良いと思っているのでこれも、私にとっては問題ありません。
いつ、公開されるのかわかりませんが、今後もJoomla!を使い続けていくのなら最新のシステムで且つ、古いエクステンションを使わないようにした方が良さそうです。
と題した記事がJoomla.orgにありました。
英語が苦手なので詳しい内容までは把握できないですが、PHP4の環境の方は、PHP5に変更するかできなければ、下記のコードをPHP4の環境の方は「/libraries/joomla/utilities/compat/php50x.php」の最後に追加してください。というようなことが書かれていました。
if(!function_exists('stripos')) {
function stripos($haystack, $needle, $offset = 0) {
return strpos(strtolower($haystack), strtolower($needle), $offset);
}
}
ですが、これはJoomla!1.5.8で適用されるようです。