次のスクリプトでテストされているように、返されたリソースを閉じるのstream_socket_server()
は非常に遅いです (~0.5 秒)。
<?php
echo "Creating socket...";
$s = stream_socket_server("tcp://127.0.0.1:4567");
echo "done\n";
echo "Closing socket...";
fclose($s);
echo "done\n";
?>
実行時間の 90% がfclose($s);
同等の C++ アプリケーションでは、リッスンしているソケットをシャットダウンしようとしても、この長さの遅延は発生せず、代わりに 0.03 秒未満で閉じます。これに影響を与える PHP 固有の構成はありますか?
- OS: Windows 7 x64 アルティメット
- PHP: 5.4.0 (クリ)
- 構成: デフォルト
php.ini