0

ストレージ アレイから情報を取得するための Web インターフェイスに取り組んでいます。SMI-S を使用したい 使用できる Java CIM クライアント (SBLIM CIM クライアント) がありますが、PHP が CIM を介して情報を取得する方法があればいいのにと思います。誰かが私を正しい方向に向けることができますか? たとえば、http (ポート 5988) 経由でリクエストを送信し、xml レスポンスを解析する方法はありますか?

誰かがより良い方法を提案できれば、それも素晴らしいでしょう。ありがとうございました。

4

2 に答える 2

2

PHP で直接記述された CIM クライアントについては知りませんが、通常、Perl または Python で記述されたパッケージをサーバー側の PHP に統合できます。

OpenPegasus の cimcli など、コマンド ライン CIM クライアントを PHP に統合することもできますが、コマンド ライン クライアントの出力を解析するのはあまり便利ではありません。

独自の CIM-XML パーサーを作成しないことをお勧めします。仕様 (DSP0200、DSP0201) には多くの詳細が記載されています。これは間違いなく大仕事になるでしょう。

Python の場合、プロジェクトでの活動はあまりありませんが、非常にうまく機能する PyWBEM CIM クライアントがあります。また、Python 用の PowerCIM CIM クライアントもあります。これは新しいものですが、まだ使用していません。PowerCIM は CIM クラスを Python クラスとして提供しますが、PyWBEM は CIMInstance や CIMClass などの汎用 Python クラスを提供します。PHP などの次の上位レイヤーに統合するには、2 つの異なるスタイルに対処する必要があります。

OpenWEM クライアントの上にPerl インターフェイスがありますが、私はその経験がありません。

アンディ

于 2012-10-20T15:23:14.157 に答える
1

配列の詳細を取得するための SMI-S 呼び出しでは、基本的に定義済みのメソッドである GetInstances() または EnumerateInstances() を使用できます。これらのメソッドには、OpenPegasus などのライブラリが付属しています。必要なライブラリーの組み込みに成功したら、クライアント変数を作成し、CIM サーバーに接続して、必要なメソッドを呼び出すことができます。

特に OpenPegasus を使用している場合は、前者が C++ で実装されているため、PHP で C++ を使用する方法を知る必要がある場合があります。http://devzone.zend.com/1435/wrapping-c-classes-in-a-php-extension/を参照してください。

于 2015-02-18T12:32:37.297 に答える