webman的控制器逻辑更新后,调用时却仍然执行旧逻辑

jones

如题,在使用webman 1.3.9时,修改了控制器中的代码,在终端上也看到了:

xxx.php update and reload
Workerman[start.php] reloading

此时再调用控制器时,发现修改没有生效。
于是,Ctrl + C 关闭了 webman ,再以调试模式启动webman ,以便观察终端上的信息。但此法仍然没有作用。控制器执行的仍旧是修改前的逻辑。

在提交这个提问的过程中,又尝试了一次调用,发现执行的是修改后的逻辑,是因为webman缓存了代码文件么?如果是,怎样实现实时修改,立马生效呢?

963 2 0
2个回答

2548a

猜测是你开启了php的opcache缓存

  • 暂无评论
walkor

ps auxf 看下是不是启动了多个webman,导致请求到了老的webman服务器里。
还有部分用户是由于使用远程,代码没真正同步到服务器。

  • evilk 2022-05-11

    求教1个问题
    使用webman,还有必要开启 opcache 吗?

  • walkor 2022-05-11

    如果使用了view模版,建议开启opcache,否则不用开。webman reload时会重置opcache,所以即使开启opcache对webman也没有副作用。

  • jones 2022-05-11

    ps auxf 后,只看到一个运行的webman,在使用Think-template的web页面没有出现过本问题。出问题的位置是在controller的内部。

年代过于久远,无法发表回答
🔝