我有自己的韵律服务器设置,可以通过 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 和韵律上运行的。