PHP 8.0以上の環境でマップ画面が表示できない問題について
PHP 8.0以上の環境でマップ画面が表示できない問題について
概要
PHP 8.0以上の環境でWebフロントエンドのマップ画面が表示できない問題が発生していました。この問題はMIRACLE ZBX 5.0.47-6で修正されています。
対象となる製品
- MIRACLE ZBX 5.0.47-6未満
対処方法
MIRACLE ZBXサーバを5.0.47-6以上にアップデートすることで問題を解消できます。PHP 8.0より前のバージョンを使用している環境では対処は不要です。
パッケージのアップデート方法は以下を参照してください。
問題の詳細
PHP 8.0でcall_user_func_array()の関数に配列としてパラメータを渡すように変更されました。MIRACLE ZBXのコードがこの変更に対応していなかったためエラーとなって、マップが表示できない問題が発生していました。
/usr/share/zabbix/include/classes/macros/CMacrosResolver.php
修正前
2018 return array_keys(array_flip(call_user_func_array('array_merge', $macros_by_location)));
修正後
2018 return array_keys(array_flip(call_user_func_array('array_merge', array_values($macros_by_location))));
該当するPHP 8.0の変更内容については以下を参照してください。
注意事項
- 本ドキュメントの内容は、予告なしに変更される場合があります。
- 本ドキュメントは限られた評価環境における検証結果をもとに作成しており、 全ての環境での動作を保証するものではありません。
- 本ドキュメントの内容に基づき、導入、設定、運用を行なったことにより損害が生じた場合でも、弊社はその損害についての責任を負いません。あくまでお客様のご判断にてご使用ください。
更新履歴
- 2025年09月30日 新規作成