サーバーは、署名検証プロセス中にチャネル サーバーからユーザーの情報を取得する必要があることがよくあります。通常、curl と file_get_contents の 2 つのメソッドがあります。
通常の状況では、このように使用しても問題ありません。
リーリーただし、サーバーはプロキシを介して外部ネットワークに接続するため、stream_context_create を使用してチャネル サーバーにアクセスする場合は、プロキシ パラメータを指定する必要があります。
そこで、上記のコードの $opt 配列に "proxy"=>$proxy フィールドを追加します。追加後もfile_get_contentsが正常に検証できないことが分かりました。
困ったので、公式サイトでfile_get_contentsを確認したところ、proxyについての説明がなかったので、stream_context_createで検索すると、公式の説明にこんな一文がありました
。 リーリー次に、 context_parameters に移動して、パラメータ設定を表示しましょう。 HTTPを使用しているので、HTTPコンテキストを確認してください
プロキシ関連のビュー
リーリー
プロキシのみが設定されていることがわかりましたが、request_fulluri が設定されていなかったので、request_fulluri=true を追加したところ、検証に合格しました。
注: proxy パラメーターを使用する場合、具体的な理由はわかりませんが、http を tcp に変更する必要があります。分かりましたらここで更新します。