我在我的Windows机器上本地设置了一个ejabberd安装,我也有Apache,PHP和MySQL。我也确认它使用Digsby非常好用,并且通过创建一些用户,发送一些消息等来踢掉一些轮胎。一切都很好。
但是,PHP无法使用stream_socket_client打开流到端口5222.即使是最简单的级别:
stream_socket_client("tcp://localhost:5222", $errno, $errstr, 30, STREAM_CLIENT_CONNECT);
返回超时错误。但是,再次将端口5222上的IM客户端连接到localhost工作正常。 (使用stream_socket_client在端口80上打开与localhost的简单连接也可以。)
有什么想法吗?我被卡住了!
答案 0 :(得分:1)
selinux需要关闭,或允许apache与xmpp交谈
答案 1 :(得分:1)
默认情况下,许多服务器不监听环回设备,或只监听:: 1或127.0.0.1并使localhost指向另一个。检查:
% netstat -an | grep 5222
并检查LISTEN行的输出,该行显示服务器正在侦听的位置。
最后,尝试明确使用您的盒子的IP地址作为连接主机名。
答案 2 :(得分:0)
有时您只需要查看该行就能看到究竟发生了什么。在这些情况下,Windump(tcpdump)是您的朋友。