私は現在、cURLマルチを使用して数秒間に何千ものHTTPステータスコードをチェックしています。
しかし、私はポートがcURLや他のPHPマルチタスキングメソッドを使って応答しているかどうかを確認できますか?PHPでポートをチェックする方法(マルチスレッド?)
0
A
答えて
2
短い答え:
ザ・は、PHPにはスレッドがありません。
ただし、pcntlエクステンションをご覧ください。これはスレッドに関するものではなく、fork(各forkに対してプロセスが作成されることを意味します)です。
Thread extensionは数年前に開発されましたが、現在2年間更新されていません。
フォークは完全に貴重なものであり、あなたのユースケースで使用することができますが、メンテナンスや書き込みは容易ではありません。 必要に応じて、どちらもより良いスレッドサポートを持っているpythonまたはperlで作業したい方がいいかもしれません。
2
fsockopen()
を使用してポートをスキャンできますが、各PHPスクリプトは1つのスレッドで実行されます。
短い答え:いいえ。マルチスレッドをサポートする言語を使用してください。 Node.jsのような非同期のもの – DaveRandom
問題は、 'fsockopen'を使うことは同期的です。一度接続すれば、ソケットをnon-blockingに設定し、 'stream_select'を使って接続を多重化できますが、接続に費やす時間は失われます。それに加えて、そのポート(mysqlなど)からの応答を処理するコードが必要です –