workerman用root在命令行 可以启动正常通讯,用php exec执行启动命令则无法正常通讯

长飞

如果不用exec执行,php代码控制服务启动有什么好的解决方法吗

2989 1 0
1个回答

blogdaren

1.  不要用 exec(), 试试  system()
2.  不过话说回来, PHP本身就是脚本语言,按照官方命令行直接调用应该是最简单最优雅的,完全没有必要在一个php脚本里再去exec 进行二次调用。

  • 长飞 2019-01-23

    怎么能保障wokerman稳定性,要一直检测wokerman 是否有正常通讯,没有就重新启动,只能在php里判断是否有正常返回值,然后启动。我没有想到好的办法,exec和system 执行成功后,发现wokerman进程是存在,但是开的内部text端口却是不同,用户组www

  • blogdaren 2019-01-23
    1. 写个shell脚本配合 crontab就能搞定,具体如何检测手段也很多,比如 ps aux | grep xxxx 检测相应的进程是否正常; 又比如检测 php start.php status 的报告等等,根据检测结果再调度相应的操作即可。
      2.“内部text端口却是不同,用户组www” 这是啥意思?
  • 长飞 2019-01-25

    @614:麻烦贴一下shell 我不会写呜呜

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