laravel wokerman启动没有显示监听端口
发布时间:2019-10-03, 09:45:01 分类:Linux | 编辑 off 网址 | 辅助
正文 863字数 389,790阅读
在php laravel中使用workerman,启动的时候没有正常显示监听端口,且不能使用
在windows下面getStartFilesForWindows()这个函数影响的:
foreach($argv as $file)
{
if(is_file($file))//此处会判断是否是文件,是文件的情况下才会加入数组中,laravel下面的命令肯定不是文件,所以此处$files就为空了
{
$files[$file] = $file;
}
}
Run code
Cut to clipboard
$files为空在windows下就不会fork进程出来了(linux下是不会有这个问题的)
网上提供的教程都是linux下运行的,所以不会有这个问题,在windows上集成就会出现你这个问题!!!!
解决方法:
改workerman的代码就行了:
将Worker.php中1335行的
getStartFilesForWindows
Run code
Cut to clipboard
public static function getStartFilesForWindows() {
global $argv;
$files = array();
// foreach($argv as $file)
// {
// if(is_file($file))
// {
// $files[$file] = $file;
// }
// }
$file = $argv[0];
$files[$file] = $file;
return $files;
}
Run code
Cut to clipboard
(支付宝)给作者钱财以资鼓励 (微信)→
有过 1 条评论 »
->whereIn('os.id',$oi_id) ->orderByRaw("FIELD(pre_os.id, " . implode(", ", $oi_id) . ")")