workerman windows环境下无法启动问题
问题描述
使用laravel框架composer加载workerman/gateway-worker扩展使用workerman做客服系统.通过laravel的command命令: php artisan app:chat start启动.linux服务器上正常,在window服务器上启动失败,无报错(如下图)

问题原因
\workerman\Worker.php: 1424
/**
* Get start files for windows.
*
* @return array
*/
public static function getStartFilesForWindows() {
global $argv;
$files = array();
foreach($argv as $file)
{
if(\is_file($file))
{
$files[$file] = $file;
}
}
return $files;
}
代码如上,函数返回的$files数组中的文件是用来fork worker进程的.当$argv数组中无文件名导致返回的$files为空时就会出现上述问题.
解决方案
注释掉代码中对$argv[0]的赋值,或是直接添加/替换命令执行文件(laravel为artisan; thinkphp为think)到全局数组$argv中,eg:
global $argv;
//$argv[0] = 'app:chat'; //注释此行(当$argv[0]初始值就为artisan时)
或
$argv[0] = 'artisan'; //重新赋值可执行命令文件
重新启动,出现[OK],表示成功.
原文地址: https://www.zhuyilong.我爱你/tech/workerman_windows_start.html
workerman windows环境下无法启动问题的更多相关文章
- windows环境下redis启动加到服务中
前置条件: 1.命令运行在redis-server.exe目录下 2.cmd命令 安装命令: redis-server.exe --service-install redis.windows.co ...
- 【开发笔记】- 在Windows环境下后台启动redis
1. 进入 DOS窗口 2. 在进入Redis的安装目录 3. 输入:redis-server --service-install redis.windows.conf --loglevel verb ...
- Docker学习<一>--初体验Windows环境下安装
背景 今天想试用spring boot与jwt协议的实现,配套就需要使用redis,但redis似乎windows环境版本部署起来不是那么舒心,果断尝试使用docker. 下载 下载地址: 稳定版:h ...
- MemCache在Windows环境下的搭建及启动
MemCache在Windows环境下的搭建及启动 一.memcache服务器端的安装 1.下载memcached的安装包,memcached_en32or64.zip,下载链接:http://pan ...
- windows 环境下通过运行快速启动程序
在windows环境下,我们可以使用一些系统内置的快捷键来快速启动我们想要的应用程序,我这里举例几个我经常使用的,比如: 快捷键 功能说明 services.msc 查看系统服务 gpedit.ms ...
- Windows环境下制作Ubuntu的U盘启动工具
Windows用户想要尝试一下Ubuntu或其他Linux系统?最简单的方法就是使用VMware Workstation,只是虚拟机会真实占用内存,如果你的电脑内存8G及以上可以试试.内存偏小,或者觉 ...
- Windows环境下启动Redis报错:Could not create server TCP listening socket 127.0.0.1:6379: bind: 操作成功完成。(已解决)
问题描述: 今天在windows环境下启动Redis时启动失败报错: 解决方案: ①运行命令:redis-cli.exe ②退出Redis ③运行命令:redis-server.exe redis.w ...
- 关于docker在windows环境下运行的第一次体验
关于docker在windows环境下执行的原理 1.1. 首先是Docker Quickstart启动,如果在虚拟机Oracle VM VirtualBox不存在default虚 ...
- 在 windows 环境下安装 redislive
这是一篇在 windows 环境下安装 redislive 的教程! 项目地址:https://github.com/nkrode/RedisLive 配置文档:http://www.nkrode.c ...
随机推荐
- js根据ip地址获取城市地理位置
一.使用js根据ip获取地址位置 <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>& ...
- 文本的3D效果
HTML <div class="g-box"> <h1>CSS的世界很美</h1> </div> CSS .g-box { wid ...
- Kubernetes Pod驱逐策略
Kubelet 能够主动监测和防止计算资源的全面短缺. 在资源短缺的情况下,kubelet 可以主动地结束一个或多个 Pod 以回收短缺的资源. 当 kubelet 结束一个 Pod 时,它将终止 P ...
- Linux 系统编程 学习:05-进程间通信2:System V IPC(2)
Linux 系统编程 学习:05-进程间通信2:System V IPC(2) 背景 上一讲 进程间通信:System V IPC(1)中,我们介绍了System IPC中有关消息队列.共享内存的概念 ...
- OJ-1:时钟问题【九度1553】
题目描述: 如图,给定任意时刻,求时针和分针的夹角(劣弧所对应的角). 输入: 输入包含多组测试数据,每组测试数据由一个按hh:mm表示的时刻组成. 输出: 对于每组测试数据,输出一个浮点数,代表时针 ...
- JavaSE基础语法学习-流程控制
流程控制 用户交互Scanner Scanner**对象** 下面是创建 Scanner 对象的基本语法: Scanner s = new Scanner(System.in); 接下来我们演示一个最 ...
- Dreamweaver是怎么把图片转换成代码 简单五步骤即可解决
Dreamweaver图片转换代码图文介绍 1.打开需要转换的Photoshop作品: 2.保存为web格式,得到一个文件夹和一个html格式文件: 3.在html格式文件上单击右键,选择打开方式为D ...
- C#两行代码实现三维地球
一. 为什么要用三维地球? 三维地球是地理信息技术的一个重要发展方向,相比较二维地图技术,三维地球最大的特点是更直观更形象地表达地理信息和空间上的方位.我们可以在三维气象模拟. ...
- git引入_版本控制介绍
八个字形容git技术: 公司必备,一定要会 一.git概念: git是一个免费的,开源的分布式版本控制系统,可以快速高效的处理从小型到大型的项目 二.什么是版本控制: 版本控制是一种一个记录一个或若个 ...
- linux Netfilterr中扩展match target
Match: netfilter定义了一个通用的match数据结构struct xt_match /* 每个struct xt_match代表一个扩展match,netfilter中各个扩展match ...