channel server服务端
$serverInstance = new Channel\Server($configInfo['channel_server']['host'], $configInfo['channel_server']['port']);
if(!defined('GLOBAL_START'))
{
//设置debug日志
Worker::$logFile = sys_get_temp_dir().DIRECTORY_SEPARATOR.'channel-server-debug-'.date('Y-m-d').'.log';
//daemon日志
Worker::$stdoutFile = sys_get_temp_dir().DIRECTORY_SEPARATOR.'channel-server'.date('Y-m-d').'.log';
//指定进程ID文件,便于后期做监控
Worker::$pidFile = ROOT_PATH.'/channel-server.pid';
Worker::runAll();
}
这是服务端启动截图
我在Channel/Server.php的onMessage()方法增加了接收消息的回调输出。
channel client客户端能正常连接,也能正常发送事件消息,但是服务端始终无法接收消息和通知订阅用户。
channel server状态截图
补充:
在本地测试都ok,在线上阿里云ECS就不行了(阿里云firewall没有启用,iptables没有安装,telnet 可以连接ip 端口),
线上服务器上pcntl、posix、sockets、event扩展都安装ok,pcntl、posix相关函数都启用
php 5.6.33
workerman 4.026
问题已经解决