laravel中使用workman在linux启动问题
laravel框架中使用workerman做一个站内信的功能,在本地使用命令行开启服务时,没有问题;
但到linux测试环境,就启动不了!
报错:
Unknown command: cronMessage
Usage: php yourfile <command> [mode]
Commands:
start Start worker in DEBUG mode.
Use mode -d to start in DAEMON mode.
stop Stop worker.
Use mode -g to stop gracefully.
restart Restart workers.
Use mode -d to start in DAEMON mode.
Use mode -g to stop gracefully.
reload Reload codes.
Use mode -g to reload gracefully.
status Get worker status.
Use mode -d to show live status.
connections Get worker connections.
怀疑:
1.守护进程supervisor影响,暂时停掉服务
2.laravel对命名的要求,改名
3.laravel对定时任务解析路由问题
结果都不是。
最后百度到一个靠谱的原因:
是laravel定时任务的命令行命令参数的问题

平时执行没问题
但是执行workerman的时候,workman获取参数的方法就有问题了

这样取参数的时候就有问题了,改一下这个取参数的方式,即可!
看下图:

最后执行:


本文讲述了在Laravel框架中使用Workerman实现站内信功能时遇到的启动问题。在本地运行正常,但在Linux测试环境中出现`Unknown command:cronMessage`错误。经过排查,问题出在Laravel定时任务命令行参数的处理上。解决方案是修改获取参数的方式,最终成功启动服务。此问题对于理解Laravel和Workerman在不同环境下的交互有参考价值。
3034





