PHPで

2017-11-22 11 views
0

こんにちはすべて、私はパペットマスターサーバー(パペットオープンソースバージョン4.9)に由来する自分のアプリケーションにデータをキャッチしようとしていますPHPで

をYAML MIMEタイプを解析する方法。 Puppet Serverには、すべてのクライアントからのレポートを処理し、HTTP POSTを使用してMIMEタイプapplication/x-yamlとして宛先に送信する機能があります。 Puppet Serverを設定してアプリケーションサーバーにデータを送信しました。

私のアプリケーションサーバーには、(tcpdumpを介して)Puppet Master Serverからのトラフィックが届いています。私はまた、私のアプリケーションの中でいくつかのPOSTデータが到着しているのを見ていますが、解析する方法を知る方法はわかりません。 $ _POSTデータをダンプしようとすると、空になります。私はYii2をアプリケーションフレームワークとして使用しています。誰もがこのデータをキャッチし、データベースに挿入するためにそれを解析する方法を知っていますか?

あなたは -cs

答えて

0

PHP以外のすべての要求タイプの解析を行いませんありがとうござい形式でエンコードされ、それが唯一のYAML PHPはそれで何もしないだろうと非マルチパートリクエストの場合、またはマルチパート。

input streamphp://inputを使用して、生のリクエスト本体にアクセスできます。例えば:

use foolib/YamlParser; 

$rawbody = file_get_contents('php://input'); 
$myobject = YamlParser($rawbody); 

YAMLは正確にネイティブのPHP型に正しくマップ、そうYMMVあなたが選ぶどのようなパーサに依存していないいくつかのデータ構造を定義することに留意すべきです。 PHPにはYAMLパーサが組み込まれていません。