国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

Laravel 8 + workerman 無(wú)法以daemon方式啟動(dòng)!

Endy

php artisan worker start --d
Workerman[artisan] start in DEBUG mode
--------------------------------------------- WORKERMAN ---------------------------------------------
Workerman version:4.0.14 PHP version:7.4.9

升級(jí)以后無(wú)法再以守護(hù)進(jìn)程方式啟動(dòng)

6299 4 0
4個(gè)回答

walkor 打賞

--d 改成 -d試下

  • Endy 2020-11-16

    php artisan workerman start -d

    The "-d" option does not exist.

  • Endy 2020-11-16

    在handle里加日志看了action和option都沒(méi)有問(wèn)題:
    [2020-11-16 09:33:52] local.INFO: action:start
    [2020-11-16 09:33:52] local.INFO: option:-d

Endy

截圖

源碼改了兩個(gè)地方暫時(shí)沒(méi)問(wèn)題了,看上去是handle里對(duì)argv的賦值處理并沒(méi)有能夠傳遞到Worker.php,需要看看怎樣處理更為優(yōu)雅。

  • walkor 2020-11-16

    你看下為什么 artisan 無(wú)法傳遞 -d吧。

Endy

artisan的option明確說(shuō)明要以--為前綴:Options, like arguments, are another form of user input. Options are prefixed by two hyphens (--) when they are specified on the command line.
又分析了一下,handle中示例是以global $argv來(lái)賦值參數(shù),Worker.php中取的是$_SERVER['argv'],前者賦值后產(chǎn)生了一個(gè)深拷貝副本,所以并沒(méi)有改變到后者的值?。。。?br /> 截圖
截圖

所以修改Command中的argv賦值方法為直接向$_SERVER['argv]進(jìn)行賦值,問(wèn)題解決!

  • walkor 2020-11-16

    看到網(wǎng)上laravel整合workerman的文章都是操作的global $argv;,我重新發(fā)個(gè)版本,把$_SERVER['argv]操作改回操作 $argv;

  • Endy 2020-11-16

    [/bow]

  • walkor 2020-11-16

    更新到4.0.16或者后續(xù)的更高版本,已經(jīng)改回操作 global $argv;

sunshineshuai

我也遇到此類問(wèn)題了!我的這兩種方式獲取的參數(shù)是相同的,但是也是啟動(dòng)不了

php artisan workman start --d
----------------------- WORKERMAN -----------------------------
Workerman version:4.0.19 PHP version:7.3.4
------------------------ WORKERS -------------------------------
worker listen processes status

打印兩種方式獲取到的參數(shù)是一樣的,但是也啟動(dòng)不了

array:4 [
0 => "artisan"
1 => "workman"
2 => "start"
3 => "d"
]
array:4 [
0 => "artisan"
1 => "workman"
2 => "start"
3 => "d"
]

  • 暫無(wú)評(píng)論
年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??