PHP 5.4带有一个用于开发目的的内置服务器.这是我几个月来一直在等待的事情,因为到目前为止,我不得不破解一个PHP脚本,它监听传入的连接并处理它们(因为我不想去麻烦和安装实际服务器的开销).
让我担心的主要问题是:如何分配端口?
在我的PHP脚本中,我曾经这样做:
socket_bind($sock,"localhost",0) or die("Could not bind socket");
socket_getsockname($sock,$ip,$port);
Run Code Online (Sandbox Code Playgroud)
$port 然后是操作系统根据可用内容分配的端口号.
我只是想知道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=
Run Code Online (Sandbox Code Playgroud)