您的浏览器过于古老 & 陈旧。为了更好的访问体验, 请 升级你的浏览器
j0785 发布于2022年12月06日 17:39 最近更新于 2022年12月06日 17:41

原创 Windows平台下使用Docker搭建Swoole运行时报错:failed to listen server port:9501, Error: Address already in use[98]

2285 次浏览 读完需要≈ 4 分钟 WindowsDockerNginxPHP

内容目录

  • 进入myswoole容器,启动HTTP服务php http_server.php报错
  • http_server.php文件代码如下:

    <?php
    $http = new Swoole\Http\Server("127.0.0.1", 9501);
    $http->on('request', function ($request, $response) {
        $response->end("<h1>Hello Swoole. #".rand(1000, 9999)."</h1>");
    });
    $http->start();
    ?>
  • 运行提示如下错误:
    Fatal error: Uncaught Swoole\Exception: failed to listen server port[127.0.0.1:9501], Error: Address already in use[98] in /var/www/http_server.php:2

    Stack trace:#0 /var/www/http_server.php(2): Swoole\Server->__construct('127.0.0.1', 9501) #1 {main} thrown in /var/www/http_server.php on line 2

    1670316127536.jpg

  • 提示9501端口被占用
  • 重新打开一个Windows命令窗口(使用Win+R打开运行窗口,输入cmd打开命令行窗口),在命令窗口中输入命令中输入netstat -ano |findstr "9501"

    1670316364053.jpg

  • 记住对应的进程IDtaskkill  /PID 1984 -T -F (其中-T是包括了子进程,-F是强制),强制结束该进程

    1670316488098(1).jpg

  • notice:强制结束进程后,Docker Desktop程序会被强制关闭,须重新执行程序
  • 然后将对应的容器重新运行docker start myswoole
  • 然后重新进入myswoole容器,启动HTTP服务php http_server.php(创建容器的时候没有这个命令则需要手动启动服务,有的话这个步骤可以省略)
  • CodePlayer技术交流群1
  • CodePlayer技术交流群2

0 条评论

撰写评论