その手の平は尻もつかめるさ

ギジュツ的な事をメーンで書く予定です

PHPでテストに使うための空きポートを取ってくる

kazuhoさんのこの記事と同じことがPHPでも出来る.

d.hatena.ne.jp

<?php
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_bind($sock, '127.0.0.1', 0); // localhostのport 0をbindする
socket_getsockname($sock, $address, $port); // ここの$portに取得した空きポートが入ってくる
socket_close($sock); // closeしないともちろんalready bindが出るので閉じておく

以上です.元記事にもあるように競合する可能性がありますが,テスト用途だったらなんとかなるでしょう.