でるわでるわ、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.0.13でいつも文字化けしていたことを放置していました。
2007/12/07 Friday 08:01:00 ???? (?W????)
こういうの見たことありませんか?
以下を変更してみました。
これは、Windowsサーバーでは発生するようです。プラットホーム依存ぽいです。Ubuntuでは、
2007/12/07 金曜日 08:01:00 JST
などと表示され、正常です。
ROOT/includes/joomla.php
if ( $date && ereg( "([0-9]{4})-([0-9]{2})-([0-9]{2})[ ]([0-9]{2}):([0-9]{2}):([0-9]{2})", $date, $regs ) ) {
$date = mktime( $regs[4], $regs[5], $regs[6], $regs[2], $regs[3], $regs[1] );var_dump($date);
$date = $date > -1 ? strftime( $format, $date + ($offset*60*60) ) : '-';
}
return $date;
を
if ( $date && ereg( "([0-9]{4})-([0-9]{2})-([0-9]{2})[ ]([0-9]{2}):([0-9]{2}):([0-9]{2})", $date, $regs ) ) {
$date = mktime( $regs[4], $regs[5], $regs[6], $regs[2], $regs[3], $regs[1] );var_dump($date);
$date = $date > -1 ? strftime( $format, $date + ($offset*60*60) ) : '-';
}
return mb_convert_encoding($date, 'UTF-8', 'SJIS');
のように変更してみました。
すると、
2007/12/07 Friday 08:01:00 東京 (標準時)
に変わりました。あれれれれこれって・・・はじめて見る気がするのは私だけでしょうか(いつも表示させていないからか?)・・・
SJISの部分や、行番号(変更したりで)は、環境により異なるかもしれません。
また、表示の仕方を変更したいときや、表示するものを変更したい場合は、
ROOT/language/japanese.php
DEFINE("_DATE_FORMAT_LC","%Y/%m/%d %A %H:%M:%S %Z"); //Uses PHP's strftime Command Format
をたとえば、
DEFINE("_DATE_FORMAT_LC","%Y/%m/%d %A"); //Uses PHP's strftime Command Format
のようにすれば
2007/12/07 Friday
となります。書き方は、http://jp.php.net/strftimeのパラメータ項を参照してください。
文字化けな方は、お試しあれ