Workerman version:3.5.18 stdoutFile 没转出的文件里

beam

Workerman version:3.5.18 
我在start.php 里设置
Worker::$stdoutFile = '/home/alidata/tmp/file';
 
但在Applications/Chat/Events.php 文件里 所有的echo 输出都没写到 文件里
 
我是 -d 启动的 ,   为何会这样,  有人知道不?

2818 1 0
1个回答

phpcreeper

可能的原因:
1、/home/alidata/tmp 目录是否存在? 并且当前用户是否拥有可写权限?
2、改了代码? 记得重启脚本。

  • beam 2019-04-18

    /home/alidata/tmp 目录是确实存在的, 而且当前用户是root, 而且file这个文件确实有生成, 但就是没内容, 我修改代码后是有重启脚本的

  • beam 2019-04-18

    而且我把 vendor 目录下文件替换成 3.5.3 版本的Workerman 就正常啊

  • phpcreeper 2019-04-18

    @5716: 可以肯定Workerman 3.5.18是没有问题的,因为我拉了这个分支测试是OK的,所以还是其他什么原因造成的。

  • beam 2019-04-18

    但我直接下载workerman-chat.zip来测试 也是一样,file文件有生成,但就是没有内容

  • phpcreeper 2019-04-18

    所以说明是你自己的环境上下文哪里有问题呢,建议你用单进程模型在onWorkerStart里定时写日志,然后 strace -ttp pid 跟踪下进程在干嘛。

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