查找PHP服务器的可用端口


Find available port for PHP server

PHP 5.4附带了一个用于开发的内置服务器。这是我已经等了几个月的事情,因为到目前为止,我不得不破解一个PHP脚本,该脚本可以监听传入的连接并处理它们(因为我不想在安装实际服务器时遇到麻烦和开销)。

我要担心的主要问题是:如何分配端口?

在我的PHP脚本中,我曾经这样做:

socket_bind($sock,"localhost",0) or die("Could not bind socket");
socket_getsockname($sock,$ip,$port);

CCD_ 1将是OS基于可用的端口号分配的端口号。

我只是想知道PHP的内置服务器中是否存在这样的功能,如果存在,访问它的命令行应该是什么

在回答我自己的问题时(再次),我使用以下批处理脚本查找可用端口并启动服务器:

@echo off
for /L %%a in (8000,1,8100) do netstat /a /n | find "%%a" | find "LISTENING" >NUL || set tmp_phpserver=%%a&& goto found
echo No free ports found in range 8000-8100...
pause
exit
:found
echo Starting server on port %tmp_phpserver%
start "PHP server %~p1 on localhost:%tmp_phpserver%" /min php -S localhost:%tmp_phpserver%
echo Server started
timeout 3
start http://localhost:%tmp_phpserver%/%~nx1
set tmp_phpserver=

来自PHP文档:

示例#1启动web服务器

 $ cd ~/public_html
 $ php -S localhost:8000

现在,服务器正在8000端口上运行。