Fedora 12でZABBIXのzabbix-webパッケージをそのまま動かすと、PHPの警告が大量に表示されます。
Function ereg_replace() is deprecated[/usr/share/zabbix/include/page_header.php:398]
get_class() expects parameter 1 to be object, array given[/usr/share/zabbix/include/classes/ctable.inc.php:138]
:
Fedora 12のPHPバージョンが5.3.0なため、将来使えなくなるereg()関数などで警告が表示されているのですが、error_reportingの値を変更しても消すことはできません。
これはZABBIXの中でPHPの標準エラーハンドラーを置き換えているためのようです。
手っ取り早くエラー表示を消すには下記フォーラムに投稿されているように、zbx_err_handlerの呼び出しを抑止する必要があります。
PHP Errors – ZABBIX Forums
フォーラムの投稿にもあるように、/usr/share/zabbix/include/config.inc.phpのset_error_handler('zbx_err_handler');
をコメントアウトすればOK。
--- frontends/php/include/config.inc.php.orig 2009-10-06 02:53:15.000000000 +0000
+++ frontends/php/include/config.inc.php 2009-10-06 02:54:28.000000000 +0000
@@ -92,7 +92,7 @@
/********** START INITIALIZATION *********/
- set_error_handler('zbx_err_handler');
+// set_error_handler('zbx_err_handler');
global $ZBX_LOCALNODEID, $ZBX_LOCMASTERID, $ZBX_CONFIGURATION_FILE, $DB;
global $ZBX_SERVER, $ZBX_SERVER_PORT;