専用IPを使用する仮想ホストでopencartを使用しています。銀行は専用IPからの仮想POSクエリのみを許可しますが、サーバーIPは銀行のAPIと通信するためにphpによって使用されます。phpにその専用IPを使用させる方法はありますか?
ps:コード内の解決策がありますが、php.iniの編集のようなより一般的な解決策を好みます。
適切な方法は、bind()
使用するインターフェイスの IP アドレスにソケットを接続することです。これにより、必要な動作が保証されます。(ポート番号をゼロに設定して、OS にポート番号を選択させることができます。)
OS にインターフェイスを適切に選択させることもできます。実際、そうではないことに驚いています。特定の IP アドレス、インターフェイス構成、またはルーティング テーブルをリストしませんでしたが、プライベート IP が 172.16.0.222 で、銀行の IP アドレスが 172.16.0.11 であると仮定すると、172.16.0.11 への接続ソケットを開くには、ローカルのプライベート IP アドレス。パブリック アドレスを選択している場合、OS はそのアドレスから宛先へのルートがあると見なします。そうでないことを確認し、問題を修正する必要があります。