Worker::$stdoutFile 无效

owenzhang

问题描述

系统环境:debian12 php8.1 nginx/1.22
workerman/webman-framework 1.5.19

文档:https://www.workerman.net/doc/workerman/worker/stdout-file.html

首先我项目全局搜索,没找到Worker::$stdoutFile,
然后我看文档,就在根目录下的添加了代码(老大已经回复,不需要添加如下图的内容,log的路径在config/server.php文件内'stdout_file' => runtime_path() . '/logs/stdout.log' )

Worker::$stdoutFile = '/home/www/pay/runtime/logs/stdout.log';

截图

然后也没生效,但没添加前,stdout.log这个文件就有了,

另外,还有一个问题,我是运行 -d模式,然后在方法写 echo 1;
接口就报502 Bad Gateway了,但其他接口正常,这样属于正常现象吗?
截图

其实我是想在-sudo php start.php start -d 下进行调试接口,然后吧echo内容输出到stdout.log,最后没输出日志,接口还报502错误了。

麻烦大佬帮忙看下,估计是我文档没认真看,又是小问题属于,哈哈哈,就当是教教菜鸟吧,

项目全局搜索也没有定义这个全局变量:static string Worker::$stdoutFile
是不是得添加下,才生效,在哪里添加这个全局变量

114 1 0
1个回答

walkor 打赏

运行 php -v 贴下具体版本

  • owenzhang 23天前

    $ php -v
    PHP 8.1.30 (cli) (built: Oct 11 2024 08:59:01) (NTS)
    Copyright (c) The PHP Group
    Zend Engine v4.1.30, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.30, Copyright (c), by Zend Technologies

    这个环境是你上周分享的安装的环境https://www.workerman.net/download 这个

  • owenzhang 23天前

    我的项目git地址https://gitee.com/owenzhang24/webman-owen

  • owenzhang 23天前

    最开始全局搜索,没找到Worker::$stdoutFile,但stdout.log这个文件是有的

  • owenzhang 23天前

    stdout.log这个文件,在本地Windows开发没有生成,线上Linux系统有生成这个文件

  • owenzhang 23天前

    $ sudo php start.php status
    Workerman[start.php] status
    ----------------------------------------------GLOBAL STATUS----------------------------------------------------
    Workerman version:4.2.0 PHP version:8.1.30
    start time:2024-11-25 14:11:39 run 0 days 2 hours
    load average: 0, 0, 0 event-loop:\Workerman\Events\Event
    4 workers 10 processes
    worker_name exit_status exit_count
    webman 0 52
    monitor 0 0
    redis_consumer 0 52
    task 0 13
    ----------------------------------------------PROCESS STATUS---------------------------------------------------
    pid memory listening worker_name connections send_fail timers total_request qps status
    17622 2.09M none monitor 0 0 2 0 0 [idle]
    19013 11.78M http://127.0.0.1:8 webman 2 0 5 64 0 [idle]
    19018 11.21M http://127.0.0.1:8 webman 2 0 6 12 0 [idle]
    19019 11.23M http://127.0.0.1:8 webman 3 0 5 26 0 [idle]
    19025 11.81M http://127.0.0.1:8 webman 2 0 5 50 0 [idle]
    19028 7.97M none redis_consumer 2 0 5 1666 0 [idle]
    19031 6.18M none redis_consumer 2 0 5 1665 0 [idle]
    19037 6.18M none redis_consumer 2 0 5 1666 0 [idle]
    19040 8M none redis_consumer 2 0 5 1667 0 [idle]
    19047 6.04M none task 0 0 4 0 0 [idle]
    ----------------------------------------------PROCESS STATUS---------------------------------------------------
    Summary 79M - - 17 0 47 6816 0 [Summary]

  • walkor 23天前

    stdout.log 在config/server.php 里设置
    stdout.log 是守护进程时将输出写入到这个文件
    workerman在windows系统没有守护进程功能

  • walkor 23天前

    502 Bad Gateway 的问题我要看下

  • owenzhang 23天前

    config/server.php文件内'stdout_file' => runtime_path() . '/logs/stdout.log' 有设置这个,

  • owenzhang 23天前

    那么另外根目录下的start.php 需要填写这个吗?Worker::$stdoutFile = '/home/www/pay/runtime/logs/stdout.log';
    如图:https://www.workerman.net/upload/img/20241124/246742f0c22685.png

  • walkor 23天前

    不用

  • walkor 23天前

    502 Bad Gateway
    我这问题未复现,如果还有问题可以换个php版本

  • owenzhang 23天前

    OK,但我的问题没解决,echo打印的东西没写入日志,估计是502 Bad Gateway造成的吧,你可以下载我的项目看看,git地址https://gitee.com/owenzhang24/webman-owen

×
🔝