とあるプログラムを引き継ぐことになった(~~)
ところが、それはMojaviと言うフレームワークで組まれていて、インターネットではサポートページが放置状態・・・これって、既に廃れてる??ま、とりあえず動かすことはできるので、新しいサーバーにライブラリごと移転してみた。すると、何も表示されないし・・・なんかめんどくさそうな予感(~~)
Mojaviには独自のエラー表示方式を取っているため、通常のエラーを期待していると悩まされることになります。おいらも半日悩み続けましたよ。まず、何も表示されない状態。これは、Mojaviの定数設定をその環境に直さなければいけないことと、独自に組まれていた(これがあちこちに散らばってて拾い集めるのに苦労させられた)定数も併せて変更。全ての定数が正しいアドレスに割り当てられたことでやっとこMojaviのエラーが表示されることになりました。
ここからがまた微妙なんだけど、PHP5.1から追加されたSTRICTエラー(現在はまだ利用可能であるが今後のPHPではサポートされなくなる可能性のあるロジック)がMojaviではNOTICEエラーとして認識されるため、実行できなくなった。一個一個STRICTエラーを排除していけばいいんだろうけど、あまりの多さに途中でネをあげてSTRICTエラーを判定する部分を探すことにした。
そういった文書があるわけでもなく探して見つかるわけでもないからプログラムを一個ずつ確認することに。
ま、それなりに該当しそうな名前のプログラム名を探していたんだけど、これが結構ソノモノな名前があるもので「/mojavi/optlogging/ErrorLogger.class.phpというファイルの200行目にcase E_STRICTを追加し、E_NOTICEやE_USER_NOTICEと同じinfo扱いにしてあげるだけで、プログラムがちゃんと動作するようになりました(~▽~)あ~これで寝れる♪
TrackBack URI : http://njcfactory.com/bbg/wp-trackback.php?p=212
Comments (0)