在php laravel中使用workerman,启动的时候没有正常显示监听端口,且不能使用
这是laravel框架中使用:
D:\phpStudy\PHPTutorial\WWW\laravel-t\caige-svn>php artisan Workerman start --daemonize
[1A
[K-----------------------[47;30m WORKERMAN [0m-----------------------------
[0mWorkerman version:3.5.4 PHP version:7.2.1
------------------------[47;30m WORKERS [0m-------------------------------
worker---------------------listen---------------------processes-----------------------status
^C
不在laravel框架(在原生php)中使用
D:\phpStudy\PHPTutorial\WWW>php wm.php start
----------------------------------------- WORKERMAN ------------------------------------------
--------------Workerman version:3.5.1 --------------------- PHP version:7.2.1----------
------------------------------------------- WORKERS ----------------------------------------------
worker --------------------- listen --------------------- processes --------------------- status
none------ websocket://0.0.0.0:2000 -------- 1 ---------------
----------------------------------------------------------------------------------------------------------
workerman启动 laravel框架中使用没有在原生中那样出现监听的对应端口。
“none----------- websocket://0.0.0.0:2000 ------------- 1 ----------------------------- ”
这一行
我也有这个问题,请问楼主现在搞定了吗?
为了回答你这个问题我特地注册了个账号.
之前这个问题也困扰了我一段时间,后面放弃了.不过找到问题是因为在windows下面getStartFilesForWindows()这个函数影响的:
$files为空在windows下就不会fork进程出来了(linux下是不会有这个问题的)
网上提供的教程都是linux下运行的,所以不会有这个问题,在windows上集成就会出现你这个问题!!!!
解决方法:
改workerman的代码就行了:
将Worker.php中1335行的getStartFilesForWindows函数改成如下写法即可: