在php laravel中使用workerman,启动的时候没有正常显示监听端口,且不能使用
在windows下面getStartFilesForWindows()这个函数影响的:
foreach($argv as $file)
{
if(is_file($file))//此处会判断是否是文件,是文件的情况下才会加入数组中,laravel下面的命令肯定不是文件,所以此处$files就为空了
{
$files[$file] = $file;
}
}$files为空在windows下就不会fork进程出来了(linux下是不会有这个问题的)
网上提供的教程都是linux下运行的,所以不会有这个问题,在windows上集成就会出现你这个问题!!!!
解决方法:
改workerman的代码就行了:
将Worker.php中1335行的
getStartFilesForWindows函数改成如下写法即可:
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;
}
laravel wherein order by 排序