系統(tǒng)環(huán)境:debian12 php8.1 nginx/1.22
workerman/webman-framework 1.5.19
文檔:http://m.wtbis.cn/doc/workerman/worker/stdout-file.html
首先我項目全局搜索,沒找到Worker::$stdoutFile,
然后我看文檔,就在根目錄下的添加了代碼(老大已經(jīng)回復,不需要添加如下圖的內(nèi)容,log的路徑在config/server.php文件內(nèi)'stdout_file' => runtime_path() . '/logs/stdout.log' )
Worker::$stdoutFile = '/home/www/pay/runtime/logs/stdout.log';
然后也沒生效,但沒添加前,stdout.log這個文件就有了,
另外,還有一個問題,我是運行 -d模式,然后在方法寫 echo 1;
接口就報502 Bad Gateway了,但其他接口正常,這樣屬于正常現(xiàn)象嗎?
其實我是想在-sudo php start.php start -d 下進行調(diào)試接口,然后吧echo內(nèi)容輸出到stdout.log,最后沒輸出日志,接口還報502錯誤了。
麻煩大佬幫忙看下,估計是我文檔沒認真看,又是小問題屬于,哈哈哈,就當是教教菜鳥吧,
項目全局搜索也沒有定義這個全局變量:static string Worker::$stdoutFile
是不是得添加下,才生效,在哪里添加這個全局變量
運行 php -v 貼下具體版本
$ 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
這個環(huán)境是你上周分享的安裝的環(huán)境http://m.wtbis.cn/download 這個
$ 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]
stdout.log 在config/server.php 里設(shè)置
stdout.log 是守護進程時將輸出寫入到這個文件
workerman在windows系統(tǒng)沒有守護進程功能
config/server.php文件內(nèi)'stdout_file' => runtime_path() . '/logs/stdout.log' 有設(shè)置這個,
那么另外根目錄下的start.php 需要填寫這個嗎?Worker::$stdoutFile = '/home/www/pay/runtime/logs/stdout.log';
如圖:http://m.wtbis.cn/upload/img/20241124/246742f0c22685.png
OK,但我的問題沒解決,echo打印的東西沒寫入日志,估計是502 Bad Gateway造成的吧,你可以下載我的項目看看,git地址https://gitee.com/owenzhang24/webman-owen