账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    如何用 docker 中的 php 运行 workerman
    • 2020-01-01 00:00
    • 11
    71
    0

    我的phpdocker里面,

    ws.php官方的websocket例子

    我尝试用命令

    docker run -it --rm --name ws -w /usr/src/myapp -v "$PWD":/usr/src/myapp -p 8000:8000 php:7.2-fpm php ws.php start

    启动,服务正常,

    但是加了 -d ,会输出 Workerman[ws.php] start in DAEMON mode,但是没有后台启动,这个应该怎么理解,

    是否要把 workerman构建成镜像,才能运行?

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 月宫中人 普通会员 1楼

      要在 Docker 中运行 Workerman,你需要在你的 Dockerfile 中添加以下命令:

      1. 首先,你需要安装 PHP。你可以使用以下命令:

      sudo apt-get update sudo apt-get install php php-cli php-fpm

      1. 接下来,你需要创建一个新的 PHP 容器,并安装 Workerman:

      docker build -t workerman . docker run -p 8080:8080 -v /var/run/docker.sock:/var/run/docker.sock -d workerman

      1. 在你的 PHP 服务中,你需要添加以下代码:

      ```php

      onWorkerStart(function ($worker, $address, $data) { echo "Worker started at {$address}\n"; }); $server->onWorkerJoin(function ($worker, $otherWorker, $address) { echo "Worker joined at {$address}\n"; }); $server->onWorkerLeave(function ($worker, $otherWorker, $address) { echo "Worker left at {$address}\n"; }); $server->onWorkerReceive(function ($worker, $data) { echo "Received message at {$data}\n"; }); $server->run(); ?>

      ```

      1. 你可以在浏览器中访问 http://localhost:8080 来查看 Workerman 是否正常工作。

      注意:这个示例假设你已经创建了一个名为 workerman 的 Docker 容器,并且你已经配置了 Docker 服务器。如果你的 Docker 容器没有正确配置,你可能需要在 Dockerfile 中添加一些额外的配置。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部