バックグラウンドで限られた時間だけ実行する必要がある「サーバー」スクリプトを PHP でセットアップしようとしています。ただし、このスクリプトの複数のインスタンスが同時に実行される場合があります。残念ながら、fsockopen() では、2 つの異なるスクリプトで同時に同じポートを使用することはできないため、他のスクリプトはエラーで失敗します :(
これを回避する方法はありますか?
バックグラウンドで限られた時間だけ実行する必要がある「サーバー」スクリプトを PHP でセットアップしようとしています。ただし、このスクリプトの複数のインスタンスが同時に実行される場合があります。残念ながら、fsockopen() では、2 つの異なるスクリプトで同時に同じポートを使用することはできないため、他のスクリプトはエラーで失敗します :(
これを回避する方法はありますか?
fsockopenはクライアント ソケット用であり、 fsockopen を使用して特定のポートでリッスンするようにサーバーを起動することはできません
PHP はマルチスレッドをサポートしていませんが、それに代わるものがあります。最高ではありませんが、俗語で「実行可能」です。
phpを使用して特定のポートでリッスンするsocket_listen
には、socket_bind
、socket_create
、 など、php の関数を使用stream_select
します。
おすすめページ PHPでの並列処理