cactiという監視ツールを使用しておりまして、これはPHPで書かれています。
一般的にはMRTGや、もっと詳しくだと、RRDToolなどが使用されていると思いますが、cactiというのは、RRDToolを簡単に使えるようにしたもので、Webインターフェースでテンプレート設定、データソース設定が簡単にできます。
で、先日PHP-5.0.0RC1にアップして暫くそのままにしておいたのですが、今日久しぶりに見ようとしたcactiのログインができなくなっていました。
で、原因は何かと調べてみたら、「adodb-iterator.inc.php」というソース内の「ADODB_Iterator」クラスでエラーが発生していました。エラー内容は、
PHP Fatal error: Class ADODB_Iterator contains 1 abstract methods and \ must therefore be declared abstract (Iterator::valid) in \ <hogehoge>/lib/adodb/adodb-iterator.inc.php on line 46
と出ていました。このクラスはIteratorクラスを継承していて、継承しなければならない「valid」メソッドが実装されていないぞ、というエラーを出していました。
で、しょうがないのでソースを書き換えて「valid」メソッドを追加したら無事ログインができるようになりました。
PHP5もまだRC1だから、厳密にはバグとは言えませんけど、すぐにでも対応しないとまずいのでは...
