私は現在、PHPで作業しているWebサイトのロギングシステムを構築/実装しているところです。ロギングシステムが機能する方法は、JSONリクエストをローカルホストに送信し、そのjsonがログに記録されることです(基本的に、とにかく。
私の質問は:
JSON POSTを使用してすばやく発砲し、呼び出しを忘れることができる最速の方法は何ですか?cURLでファイアアンドフォーゲットする方法はありますか?
これには複数の方法があります。拡張機能のcurl_multi機能を使用php_curl
すると、cURL を使用して非同期 HTTP 要求を送信できますが、これにはその拡張機能が必要です。GuzzlePHPcurl_multi
は、オブジェクト指向のアプローチを探している場合の機能を含め、cURL の機能の多くに大きなラッパーを提供します。
PHP のソケットは非同期通信もサポートします。これを HTTP プロトコル用に実装するライブラリは、ここから入手できます[クライアントは「純粋な」PHP で記述され、cURL には依存しませんが、非同期要求をサポートし、HTTP 1.1 仕様に完全に準拠しています]。
Fire and Forget ロギング ソリューションを探している場合は、Graylog のような UDP プロトコルを使用するものを検討することをお勧めします。
PHP スクリプトにヒットする小さな画像を使用できます。PHP スクリプトはヒットをログに記録し、小さな 1x1 の透過 GIF を返します。次に、ページが読み込まれた後にログが記録されます。