首先我在服务器上开放8500端口,把gatewayworker websocket和tp框架配置好,使用守护进程方式运行起来。开发到一半,想看看php start.php start报错,因为这个程序有时候可以正常运行,有时候运行不下去。然后我输入php start.php stop
然后我把8500进程全部关掉,再次运行php start.php stop执行成功,再次运行php start.php start ,出现如下错误
然后我重启服务器,还是不起作用,最后把配置文件里面的worker.php报错的那个if判断注释掉就可以运行了;就是这个if判断
if (!$this->_mainSocket) {
throw new Exception($errmsg);
}
作用是: 创建服务端server的socket监听,报错
总结:首先查看该端口开启了多少个不用的进程,全部kill掉
查看端口进程:fuser -v -n tcp 8500(这里是查看的8500端口)
杀死进程:kill -9 21634(21634是pid)
最后如果项目是在微信上运行,那么对应的微信公众号上需要设置一下回调地址。
我认为是之前运行php start.php start -d的时候已经创建了socket监听,所以在次创建监听的话和之前创建的会起冲突,所以在开放一个新的端口,运行新的端口应该就没问题了
希望这篇文章可以帮到你;