XMPPHP无法连接到Prosody

时间:2012-10-25 09:06:35

标签: php xmpp

  

可能重复:
  jaxl can’t connect to Prosody

我可以与其他客户进行身份验证,包括SleekXMPP和Strophe。

在Ubuntu 12.04上使用Prosody 0.8.2和最新的pearhub / cwXMPPHP(0.0.2)。

代码:

require 'XMPPHP/BOSH.php';

$conn = new XMPPHP_BOSH('localhost', 5280, 'yang@localhost', 'asdf', 'xmpphp', 'localhost', $printlog=true, $loglevel=XMPPHP_Log::LEVEL_VERBOSE);
$conn->autoSubscribe();

$conn->connect('http://localhost/chat/candy/example/http-bind/');

来自客户:

<body xmlns="http://jabber.org/protocol/httpbind" xmlns:xmpp="urn:xmpp:xbosh" content="text/xml; charset=utf-8" rid="3001" lang="en" hold="1" to="localhost" route="xmpp:localhost:5280" secure="true" xmpp:version="1.6" wait="1" ack="1" xmpp="urn:xmpp:xbosh"/>

来自服务器:

<body authid='ceb81a64-8fd4-485e-8b55-d848d1cef249' xmpp:version='1.0' xmlns:stream='http://etherx.jabber.org/streams' xmlns:xmpp='urn:xmpp:xbosh' inactivity='60' wait='1' polling='5' secure='true' hold='1' from='localhost' ver='1.6' sid='ceb81a64-8fd4-485e-8b55-d848d1cef249' requests='2' xmlns='http://jabber.org/protocol/httpbind'>

输出:

$ php login.php
127.0.0.1 - - [25/Oct/2012:02:02:38 -0700] "POST /chat/candy/example/http-bind/ HTTP/1.1" 200 477 "-" "-"
PHP Warning:  SimpleXMLElement::__construct(): Entity: line 1: parser error : Start tag expected, '<' not found in /usr/share/php/XMPPHP/BOSH.php on line 75
PHP Warning:  SimpleXMLElement::__construct():  in /usr/share/php/XMPPHP/BOSH.php on line 75
PHP Warning:  SimpleXMLElement::__construct(): ^ in /usr/share/php/XMPPHP/BOSH.php on line 75
PHP Fatal error:  Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /usr/share/php/XMPPHP/BOSH.php:75
Stack trace:
#0 /usr/share/php/XMPPHP/BOSH.php(75): SimpleXMLElement->__construct('?????????????R?...')
#1 /home/yang/chat/login.php(39): XMPPHP_BOSH->connect('http://localhos...')
#2 {main}
  thrown in /usr/share/php/XMPPHP/BOSH.php on line 75

Prosody服务器日志:

$ Oct 25 02:02:38 socket        debug   server.lua: accepted new client connection from 127.0.0.1:41407 to 5280
Oct 25 02:02:38 mod_bosh        debug   BOSH body open (sid: %s)
Oct 25 02:02:38 bosh869caf76-5a90-4d5f-9a75-6bc1dd54a5f5        debug   BOSH session created for request from 127.0.0.1
Oct 25 02:02:38 mod_bosh        info    New BOSH session, assigned it sid '869caf76-5a90-4d5f-9a75-6bc1dd54a5f5'
Oct 25 02:02:38 httpserver      debug   Sending response to c5fa80
Oct 25 02:02:38 httpserver      debug   Destroying request c5fa80
Oct 25 02:02:38 httpserver      debug   Request has destroy callback
Oct 25 02:02:38 socket  debug   server.lua: closed client handler and removed socket from list
Oct 25 02:02:38 mod_bosh        debug   Session 869caf76-5a90-4d5f-9a75-6bc1dd54a5f5 has 0 out of 1 requests open
Oct 25 02:02:38 mod_bosh        debug   and there are 0 things in the send_buffer

有什么想法吗?提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

pearhub上的那个软件包已经过时了。请在github https://github.com/cweiske/xmpphp/network

尝试任何分支