我有自己的韵律服务器设置,可以通过Windows XMPP客户端连接到它。服务器上有两个帐户,我可以连接它们并在它们之间交换消息(我使用的是Mozilla Thunderbird中的内置客户端)。
我在服务器上配置了虚拟主机(“domain.com”)。
我现在正尝试通过PHP作为其中一个帐户连接到服务器并向另一个帐户发送消息。我选择了JAXL来做到这一点。
$client = new JAXL(array(
'jid' => 'username',
'host' => 'domain.com',
'pass' => 'mylongcomplicatedpassword',
'auth_type' => 'SCRAM-SHA-1',
'log_level' => JAXLLogger::DEBUG,
'log_path' => './jaxl.log',
'strict' => false,
));
$client->start();
请注意'jid'的格式。这会导致错误“此服务器不提供用户名”。
如果我将jid更改为username@domain.com,我会改为“用户名无效。”
如果我添加
$client->require_xep(array('0114'));
在start()之前,我得到一个“这个服务器不服务......”。在JID的两种格式中。
可能有什么不对?这是在PHP 7.1和最新版本的JAXL和韵律上运行的。